@smartico/public-api 0.0.151 → 0.0.152
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/Missions/AchievementTaskPublicMeta.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +2 -1
- package/dist/index.modern.mjs.map +1 -1
- package/docs/interfaces/TMissionOrBadgeTask.md +10 -1
- package/package.json +1 -1
- package/src/Missions/AchievementTaskPublicMeta.ts +1 -0
- package/src/Missions/UserAchievement.ts +1 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n PING = 1,\n PONG = 2,\n\n\n INIT = 3,\n INIT_RESPONSE = 4,\n IDENTIFY = 5,\n IDENTIFY_RESPONSE = 6,\n LOGIN = 7,\n LOGOUT = 8,\n EVENT = 9,\n EVENT_RESPONSE = 10,\n\n LOGIN_RESPONSE = 11,\n LOGOUT_RESPONSE = 12,\n\n GET_TRANSLATIONS_REQUEST = 13,\n GET_TRANSLATIONS_RESPONSE = 14,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n CLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n CLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n CLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n CLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n CLIENT_EXECUTE_JS_EVENT = 107,\n CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n CLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n CLIENT_TRACK_ACTIVITY_REQUEST = 155,\n CLIENT_SET_AVATAR_REQUEST = 157,\n CLIENT_SET_AVATAR_RESPONSE = 158,\n\n CLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n CLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n CHECK_SEGMENT_MATCH_REQUEST = 161,\n CHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n // 500-1000 - Achievements\n GET_LEVEL_MAP_REQUEST = 500,\n GET_LEVEL_MAP_RESPONSE = 501,\n GET_ACHIEVEMENT_MAP_REQUEST = 502,\n GET_ACHIEVEMENT_MAP_RESPONSE = 503,\n RELOAD_ACHIEVEMENTS_EVENT = 504,\n GET_LEADERS_BOARD_REQUEST = 505,\n GET_LEADERS_BOARD_RESPONSE = 506,\n GET_SHOP_ITEMS_REQUEST = 509,\n GET_SHOP_ITEMS_RESPONSE = 510,\n BUY_SHOP_ITEM_REQUEST = 511,\n BUY_SHOP_ITEM_RESPONSE = 512,\n GET_INBOX_MESSAGES_REQUEST = 513,\n GET_INBOX_MESSAGES_RESPONSE = 514,\n GET_SHOP_CATEGORIES_REQUEST = 515,\n GET_SHOP_CATEGORIES_RESPONSE = 516,\n GET_TOURNAMENT_LOBBY_REQUEST = 517,\n GET_TOURNAMENT_LOBBY_RESPONSE = 518,\n GET_TOURNAMENT_INFO_REQUEST = 519,\n GET_TOURNAMENT_INFO_RESPONSE = 520,\n TOURNAMENT_REGISTER_REQUEST = 521,\n TOURNAMENT_REGISTER_RESPONSE = 522,\n GET_CUSTOM_SECTIONS_REQUEST = 523,\n GET_CUSTOM_SECTIONS_RESPONSE = 524,\n MISSION_OPTIN_REQUEST = 525,\n MISSION_OPTIN_RESPONSE = 526,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_ACHIEVEMENT_USER_REQUEST = 527,\n GET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n MARK_INBOX_READ_REQUEST = 529,\n MARK_INBOX_READ_RESPONSE = 530,\n MARK_INBOX_STARRED_REQUEST = 531,\n MARK_INBOX_STARRED_RESPONSE = 532,\n MARK_INBOX_DELETED_REQUEST = 535,\n MARK_INBOX_DELETED_RESPONSE = 536,\n\n GET_ACH_CATEGORIES_REQUEST = 537,\n GET_ACH_CATEGORIES_RESPONSE = 538,\n\n ACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n ACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n ACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n ACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_BONUSES_REQUEST = 600,\n GET_BONUSES_RESPONSE = 601,\n CLAIM_BONUS_REQUEST = 602,\n CLAIM_BONUS_RESPONSE = 603,\n\n SAW_GET_SPINS_REQUEST = 700,\n SAW_GET_SPINS_RESPONSE = 701,\n SAW_DO_SPIN_REQUEST = 702,\n SAW_DO_SPIN_RESPONSE = 703,\n SAW_AKNOWLEDGE_REQUEST = 704,\n SAW_AKNOWLEDGE_RESPONSE = 705,\n SAW_SPINS_COUNT_PUSH = 706,\n SAW_SHOW_SPIN_PUSH = 707,\n SAW_PRIZE_DROP_WIN_PUSH = 708,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n\n JP_GET_JACKPOTS_REQUEST = 800,\n JP_GET_JACKPOTS_RESPONSE = 801,\n\n JP_GET_LATEST_POTS_REQUEST = 802,\n JP_GET_LATEST_POTS_RESPONSE = 803,\n\n JP_OPTIN_REQUEST = 804,\n JP_OPTIN_RESPONSE = 805,\n\n JP_OPTOUT_REQUEST = 806,\n JP_OPTOUT_RESPONSE = 807,\n\n JP_WIN_PUSH = 808,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n CLIENT_DEBUG_REQUEST = 77777,\n\n \n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n UNSUPPORTED_COMMAND = 99999,\n}","\n\n\nclass IntUtils {\n\n public static uuid(): string {\n let a: any;\n let b: any;\n for (b = a = \"\"; a++ < 36; b += a * 51 & 52 ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16) : \"-\") {}\n return b;\n } \n\n public static isNotNull(val: any): boolean {\n return typeof val !== \"undefined\" && val !== null;\n } \n\n public static isNotEmpty(val: string): boolean {\n return typeof val !== \"undefined\" && val !== null && val.length > 0;\n } \n\n public static replaceAll(value: string, regex: string, replacement: string | number): string {\n if (IntUtils.isNotNull(value)) {\n return value.replace(new RegExp(IntUtils.escapeRegExp(regex), \"g\"), replacement?.toString());\n }\n return value;\n } \n\n public static escapeRegExp(v: string): string {\n if (IntUtils.isNotEmpty(v)) {\n return v.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n return v;\n }\n\n public static JsonOrText = (str: string): any => {\n if (str && str.includes && (str.includes('{') || str.includes('['))) {\n try {\n return JSON.parse(str)\n } catch (e) {\n return str;\n }\n }\n return str;\n }\n \n // public static wsTimeToEpoch = (time: string): number => {\n // if (time) {\n // return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n // } else {\n // return null\n // }\n // }\n\n public static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n const now = new Date();\n const completedDate = new Date(timestamp);\n\n switch(period) {\n case 'today':\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth() &&\n now.getDate() === completedDate.getDate()\n );\n case \"thisWeek\":\n const startOfWeek = new Date(now);\n startOfWeek.setDate(now.getDate() - now.getDay());\n startOfWeek.setHours(0, 0, 0, 0);\n\n const endOfWeek = new Date(startOfWeek);\n endOfWeek.setDate(startOfWeek.getDate() + 6);\n endOfWeek.setHours(23, 59, 59, 999);\n\n return completedDate >= startOfWeek && completedDate <= endOfWeek;\n case \"thisMonth\":\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth()\n );\n default:\n return false;\n }\n }\n}\n\n\n\nexport { IntUtils }","/** @hidden */\nexport enum SAWBuyInType {\n Free = 1,\n Points = 2,\n Spins = 3\n}\n\nexport enum SAWBuyInTypeName {\n Free = 'free',\n Points = 'points',\n Spins = 'spins',\n Unknown = 'unknown'\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n return {\n [SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n [SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n [SAWBuyInType.Spins]: SAWBuyInTypeName.Spins\n }[type] || SAWBuyInTypeName.Unknown;\n}","import { SAWBuyInType } from \"./SAWBuyInType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\n\n\nclass SAWUtils {\n\n public static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n if (t === null || t === undefined) {\n return false;\n }\n \n switch (t.saw_buyin_type_id) {\n case SAWBuyInType.Free: {\n return true;\n }\n case SAWBuyInType.Spins: {\n return t.spin_count !== null && t.spin_count > 0\n }\n case SAWBuyInType.Points: {\n return t.buyin_cost_points <= pointsBalance;\n }\n default: {\n console.error(\"MiniGamesUtils.canPlay: Unknwon SAW buyin type \" + t.saw_buyin_type_id);\n return false;\n }\n }\n }\n \n}\n\nexport { SAWUtils }","export enum SAWAcknowledgeType {\n\n Silent = 1,\n QuickMessage = 2,\n FullMessage = 3\n}\n","\nexport enum SAWAskForUsername {\n NOASK = \"no-ask\",\n ONSUMBIT = \"on-submit\"\n}","/** @hidden */\n\nexport enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3,\n GiftBox = 4,\n PrizeDrop = 5,\n Quiz = 6\n}\n\nexport enum SAWGameTypeName {\n SpinAWheel = \"wheel\",\n ScratchCard = \"scratch\",\n MatchX = \"matchx\",\n GiftBox = \"giftbox\",\n PrizeDrop = \"prizedrop\",\n Quiz = 'quiz',\n Unknown = \"unknown\"\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n return {\n [SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n [SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n [SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n [SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n [SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n [SAWGameType.Quiz]: SAWGameTypeName.Quiz\n }[type] || SAWGameTypeName.Unknown;\n}\n","/** @hidden */\nexport enum SAWPrizeType {\n\n NO_PRIZE = 1,\n POINTS = 2,\n BONUS = 3,\n MANUAL = 4,\n SPIN = 5,\n JACKPOT = 6\n}\n\nexport enum MiniGamePrizeTypeName {\n NO_PRIZE = 'no-prize',\n POINTS = 'points',\n BONUS = 'bonus',\n MANUAL = 'manual',\n SPIN = 'spin',\n JACKPOT = 'jackpot',\n UNKNOWN = \"unknown\"\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n return {\n [SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n [SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n [SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n [SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n [SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n [SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT, \n }[type] || MiniGamePrizeTypeName.UNKNOWN;\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { TMiniGamePrize, TMiniGameTemplate } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"./../Base/ProtocolResponse\";\nimport { SAWBuyInTypeNamed } from \"./SAWBuyInType\";\nimport { SAWGameTypeNamed } from \"./SAWGameType\";\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from \"./SAWPrizeType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\nimport { SAWUtils } from \"./SAWUtils\";\n\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\n templates: SAWTemplate[];\n}\n\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => { \n \n \n return items.map( r => {\n\n const x: TMiniGameTemplate = {\n \n id: r.saw_template_id,\n name: r.saw_template_ui_definition.name,\n description: r.saw_template_ui_definition.description,\n thumbnail: \n r.saw_skin_ui_definition?.skin_folder\n ? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`\n ,\n over_limit_message: r.saw_template_ui_definition.over_limit_message,\n no_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n jackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n saw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n saw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n buyin_cost_points: r.buyin_cost_points,\n jackpot_add_on_attempt: r.jackpot_add_on_attempt,\n jackpot_current: r.jackpot_current,\n spin_count: r.spin_count,\n promo_image: r.saw_template_ui_definition.promo_image,\n promo_text: r.saw_template_ui_definition.promo_text,\n custom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n expose_game_stat_on_api: r.expose_game_stat_on_api,\n\n next_available_spin_ts: r.next_available_spin_ts,\n\n prizes: r.prizes.map( p => {\n const y: TMiniGamePrize = {\n id: p.saw_prize_id,\n name: p.saw_prize_ui_definition.name,\n prize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n prize_value: p.prize_value,\n font_size: p.saw_prize_ui_definition.font_size,\n font_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n icon: p.saw_prize_ui_definition.icon,\n position: p.saw_prize_ui_definition.position,\n aknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n acknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n acknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n pool: p.pool,\n wins_count: p.wins_count,\n }\n return y;\n })\n };\n return x;\n });\n}\n\n","\n/*\n* Possible error codes for the mini-games attempts\n*/\nexport enum SAWSpinErrorCode {\n /** No error */\n SAW_OK = 0,\n /** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n SAW_NO_SPINS = 40001,\n /** The are no prizes left to play the game */\n SAW_PRIZE_POOL_EMPTY = 40002,\n /** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n SAW_NOT_ENOUGH_POINTS = 40003,\n /** User reached max number of game attempts defined in the BackOffice */\n SAW_FAILED_MAX_SPINS_REACHED = 40004,\n /** Special code for the 'visitor' mode */\n SAW_VISITOR_STOP_SPIN_REQUEST = -40001 \n}","export enum SAWWinSoundType {\n\n Disappointing = 1,\n Positive = 2,\n HighlyPositive = 3,\n NoSound = 4,\n Custom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n [SAWWinSoundType.NoSound]: null,\n [SAWWinSoundType.Disappointing]: \"saw-disappointed.m4a\",\n [SAWWinSoundType.Positive]: \"saw-positive.m4a\",\n [SAWWinSoundType.HighlyPositive]: \"saw-highly-positive.m4a\",\n}","\nclass NodeCache {\n\n private static ttlChecker: NodeJS.Timeout;\n\n private static cache: { [key: string] : any } = {};\n\n constructor() {\n if (NodeCache.ttlChecker === undefined) {\n NodeCache.ttlChecker = setInterval(() => {\n const now = new Date().getTime();\n for (const key in NodeCache.cache) {\n if (NodeCache.cache.hasOwnProperty(key)) {\n const o = NodeCache.cache[key];\n if (o.ttl < now) {\n delete NodeCache.cache[key];\n }\n }\n }\n }, 1000);\n }\n }\n\n public get(key: string): any {\n const o = NodeCache.cache[key];\n if (o !== undefined && o.ttl > new Date().getTime()) {\n return o.value;\n }\n }\n\n public set(key: string, value: any, ttlSeconds: number = 60) {\n NodeCache.cache[key] = {\n value,\n ttl: new Date().getTime() + ttlSeconds * 1000\n }\n }\n\n public remove(key: string) {\n if (NodeCache.cache.hasOwnProperty(key)) { \n delete NodeCache.cache[key];\n\n }\n } \n\n public flushAll() {\n NodeCache.cache = {};\n }\n\n}\n\n\nexport { NodeCache }","import { NodeCache } from \"./NodeCache\";\n\nexport enum ECacheContext {\n Translations,\n LabelInfo,\n WSAPI,\n}\n\nconst WITH_REF_CACHE = [\n ECacheContext.Translations\n];\n\nexport class OCache {\n\n private static cache: { [key: string]: NodeCache } = {};\n\n private static init(cacheContext: ECacheContext) {\n if (this.cache[cacheContext] === undefined) {\n this.cache[cacheContext] = new NodeCache();\n }\n }\n\n public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n return deepClone(this.cache[cacheContext].get(key));\n }\n\n public static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n this.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n }\n\n public static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n if (ttlSeconds <= 0) {\n return await f();\n } else {\n let o: T = OCache.get(oKey, cacheContext);\n\n if (o === undefined) {\n o = await f();\n OCache.set(oKey, o, cacheContext, ttlSeconds);\n }\n \n return o;\n }\n }\n\n public static async clear(cacheContext: ECacheContext, oKey: any) {\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].remove(key);\n }\n }\n\n public static async clearContext(cacheContext: ECacheContext) {\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].flushAll();\n }\n }\n\n public static async clearAll() {\n this.cache = {};\n } \n\n}\n\nconst deepClone = (o: any) => {\n if (o) {\n return JSON.parse(JSON.stringify(o));\n }\n\n return o;\n}\n","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n GiveMission = 14,\n StartAnotherCampaign = 15,\n MiniGameAttempt = 16,\n DeductPoints = 21,\n ResetPoints = 22,\n Popup = 30,\n Inbox = 31,\n Slack = 70,\n Email_To_Customer_Support = 80,\n Email_To_Risk_Operator = 90,\n Bonus = 100,\n WebHook = 200,\n TagCustomer = 504,\n UnTagCustomer = 505,\n}","\nclass CoreUtils {\n\n public static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n if (avatarDomain && avatar_id !== null && avatar_id !== undefined && !(avatar_id.startsWith && avatar_id.startsWith('http'))) {\n if (avatarDomain.endsWith('/')) {\n return avatarDomain.slice(0, -1) + '/avatar/' + avatar_id\n } else {\n return avatarDomain + '/avatar/' + avatar_id\n }\n } else {\n return avatar_id\n }\n }\n\n public static currencySymbol(currency: string) {\n return {\n [currency?.toUpperCase()]: currency?.toUpperCase(),\n USD: \"$\", // United States Dollar\n EUR: \"\\u20AC\", // Euro\n JPY: \"\\u00A5\", // Japanese Yen\n GBP: \"\\u00A3\", // British Pound Sterling\n AUD: \"A$\", // Australian Dollar\n CAD: \"C$\", // Canadian Dollar\n CHF: \"CHF\", // Swiss Franc\n CNY: \"\\u00A5\", // Chinese Yuan\n SEK: \"kr\", // Swedish Krona\n NZD: \"NZ$\", // New Zealand Dollar\n MXN: \"MX$\", // Mexican Peso\n SGD: \"S$\", // Singapore Dollar\n HKD: \"HK$\", // Hong Kong Dollar\n NOK: \"kr\", // Norwegian Krone\n KRW: \"\\u20A9\", // South Korean Won\n TRY: \"\\u20BA\", // Turkish Lira\n INR: \"\\u20B9\", // Indian Rupee\n RUB: \"\\u20BD\", // Russian Ruble\n BRL: \"R$\", // Brazilian Real\n ZAR: \"R\", // South African Rand\n }[currency?.toUpperCase()];\n }\n}\n\nexport { CoreUtils }","\nexport enum PublicLabelSettings {\n PUBLIC_API_URL = \"PUBLIC_API_URL\",\n RECORDING_ENABLED_FOR_ALL_USERS = \"RECORDING_ENABLED_FOR_ALL_USERS\",\n JS_INJECTION = \"JS_INJECTION\",\n GAMIFICATION_UI_MAIN = \"GAMIFICATION_UI_MAIN\",\n GAMIFICATION_UI_WIDGET = \"GAMIFICATION_UI_WIDGET\",\n GAMIFICATION_UI_MINI_GAME = \"GAMIFICATION_UI_MINI_GAME\",\n GAMIFICATION_UI_SETTINGS = \"GAMIFICATION_UI_SETTINGS\",\n GAMIFICATION_UI_MAIN_TEST = \"GAMIFICATION_UI_MAIN_TEST\",\n GAMIFICATION_UI_WIDGET_TEST = \"GAMIFICATION_UI_WIDGET_TEST\",\n GAMIFICATION_UI_SETTINGS_TEST = \"GAMIFICATION_UI_SETTINGS_TEST\",\n FRONT_END_ALLOWED_LANGUAGES = \"FRONT_END_ALLOWED_LANGUAGES\",\n FRONT_END_ALLOW_DOMAINS = \"FRONT_END_ALLOW_DOMAINS\",\n DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = \"DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS\",\n SHADOW_LABEL_PUBLIC_KEY = \"SHADOW_LABEL_PUBLIC_KEY\",\n DYNAMIC_IMAGE_DOMAIN = \"DYNAMIC_IMAGE_DOMAIN\",\n \n GAMIFICATION_UI_LEVEL_ENABLED = \"GAMIFICATION_UI_LEVEL_ENABLED\",\n GAMIFICATION_UI_LEVEL_IMAGE_MOB = \"GAMIFICATION_UI_LEVEL_IMAGE_MOB\",\n GAMIFICATION_UI_LEVEL_IMAGE_DESK = \"GAMIFICATION_UI_LEVEL_IMAGE_DESK\",\n \n GAMIFICATION_LEVELS_LOGIC2 = \"GAMIFICATION_LEVELS_LOGIC2\",\n GAMIFICATION_LEVELS_LOGIC3 = \"GAMIFICATION_LEVELS_LOGIC2\",\n \n AVATAR_CUSTOM_IMAGE_MAX_ID = \"AVATAR_CUSTOM_IMAGE_MAX_ID\",\n AVATAR_CUSTOM_IMAGE_FOLDER = \"AVATAR_CUSTOM_IMAGE_FOLDER\",\n \n GAMIFICATION_SHOW_POWERED_BY = \"GAMIFICATION_SHOW_POWERED_BY\",\n _system_leader_board_mask_username = \"_system_leader_board_mask_username\",\n\n INBOX_PUBLIC_CDN = \"INBOX_PUBLIC_CDN\",\n}\n","enum TranslationArea {\n\n Casino = 1,\n Gamification = 2,\n Trading = 3,\n Archived = 4,\n Affiliation = 5,\n RetentionGames = 6,\n AffIliateAdminNew = 7\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { InboxMessage } from \"./InboxMessage\";\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\n log: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = ((items: InboxMessage[]): TInboxMessage[] => {\n\n return items.map(item => {\n const x: TInboxMessage = {\n sent_date: item.createDate,\n message_guid: item.engagement_uid,\n read: item.is_read,\n favorite: item.is_starred,\n }\n return x;\n });\n})\n","import { TInboxMessageBody } from \"../WSAPI/WSAPITypes\";\nimport { InboxMessageType } from \"./InboxMessageType\";\n\nexport interface InboxMessageBody {\n action: string;\n body: string;\n type: InboxMessageType;\n image: string;\n title: string;\n html_body: string; \n additional_buttons?: { inbox_cta_text: string, action: string }[];\n}\n\nexport interface InboxMessage {\n\n createDate: string;\n body: InboxMessageBody;\n engagement_uid: string;\n is_read: boolean;\n is_starred: boolean;\n is_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n \n const x: TInboxMessageBody = {\n action: item.action,\n icon: item.image,\n title: item.title,\n preview_body: item.body,\n }\n\n if (item.action === 'dp:inbox') {\n if (item.additional_buttons && item.additional_buttons.length) {\n x.buttons = item.additional_buttons.map(b => ({\n action: b.action,\n text: b.inbox_cta_text\n }))\n }\n\n x.html_body = item?.html_body || null;\n }\n\n return x;\n}\n","export enum InboxMessageType {\n Custom = 0,\n MissionCompleted = 1,\n MissionUnlocked = 2,\n LeaderboardWon = 3,\n LevelChanged = 4,\n BonusGiven = 5,\n PointsAdded = 6,\n PointsUsed = 7,\n PersonalMessage = 8\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n FAILED_TO_BUY_SHOP_ITEM = 121,\n SHOP_NO_BALANCE = 11000,\n SHOP_WRONG_LABEL = 11001,\n SHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n SHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n SHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n SHOP_FAILED_POOL_EMPTY = 11009,\n}","import { TStoreCategory } from \"../WSAPI/WSAPITypes\";\nimport { StoreCategoryPublicMeta } from \"./StoreCategoryPublicMeta\";\n\nexport interface StoreCategory {\n\n id?: number;\n publicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => { \n return items.map( r => {\n const x: TStoreCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","export enum StoreItemType {\n Bonus = 1,\n Tangible = 2,\n MiniGameSpin = 3,\n ChangeLevel = 4,\n PrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n Bonus = \"bonus\",\n Tangible = \"tangible\",\n MiniGameSpin = \"minigamespin\",\n ChangeLevel = \"changelevel\",\n PrizeDrop = \"prizedrop\",\n Unknown = \"unknown\"\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n return {\n [StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n [StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n [StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n [StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n [StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n }[type] || StoreItemTypeName.Unknown;\n}\n\n","import { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItemPublicMeta } from \"./StoreItemPublicMeta\";\nimport { StoreItemType, StoreItemTypeNamed } from \"./StoreItemType\";\n\nexport interface StoreItem {\n id: number;\n itemTypeId: StoreItemType;\n itemPublicMeta: StoreItemPublicMeta;\n categoryIds?: number[];\n canBuy?: boolean;\n shopPool: number;\n}\n\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n }\n return x;\n });\n\n}","import { IntUtils } from \"../IntUtils\";\nimport { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItem } from \"./StoreItem\";\nimport { StoreItemTypeNamed } from \"./StoreItemType\";\n\ninterface StoreItemPurchased extends StoreItem {\n purchase_ts: number;\n purchase_points_amount: number;\n purchased_today?: boolean;\n purchased_this_week?: boolean;\n purchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n const purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n const purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n purchase_ts: r.purchase_ts,\n purchase_points_amount: r.purchase_points_amount,\n purchased_today: purchasedToday,\n purchased_this_week: purchasedThisWeek,\n purchased_this_month: purchasedThisMonth,\n }\n\n return x;\n });\n\n}\n\nexport { StoreItemPurchased }","export enum AchievementStatus {\n\n Draft = 1,\n AvailableUnlocked = 2,\n AvailableLocked = 3,\n Archived = 4,\n FeaturedManually = 5,\n FeaturedAI = 6,\n Recurring = 7\n}\n","export enum AchievementTaskType {\n CompleteAchievement = 1,\n UnlockAchievement = 2\n}\n","export enum AchievementType {\n\n Mission = 1,\n Badge = 2\n}\n","\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\nimport { IntUtils } from \"../IntUtils\";\nimport { TMissionOrBadge } from \"../WSAPI/WSAPITypes\";\nimport { AchievementPublicMeta } from \"./AchievementPublicMeta\";\nimport { AchievementStatus } from \"./AchievementStatus\";\nimport { AchievementTaskType } from \"./AchievementTaskType\";\nimport { AchievementType } from \"./AchievementType\";\nimport { ScheduledMissionType } from \"./ScheduledMissionType\";\nimport { UserAchievementTask } from \"./UserAchievementTask\";\n\nexport interface UserAchievement {\n\n ach_id?: number;\n ach_type_id?: AchievementType;\n ach_public_meta?: AchievementPublicMeta;\n isCompleted?: boolean;\n isLocked?: boolean;\n requiresOptin?: boolean;\n isOptedIn?: boolean;\n start_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n start_date_ts?: number; \n time_limit_ms?: number;\n progress?: number;\n complete_date?: string;\n complete_date_ts?: number;\n unlock_date?: string;\n milliseconds_till_available?: number;\n completed_tasks?: number;\n achievementTasks?: UserAchievementTask[];\n ach_status_id?: AchievementStatus;\n scheduledMissionType?: ScheduledMissionType;\n related_games?: AchRelatedGame[];\n active_from_ts?: number; // indicates when 'scheduled' mission is active from,\n ach_categories?: number[];\n\n ach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n requires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n prize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n completed_today?: boolean;\n completed_this_week?: boolean;\n completed_this_month?: boolean;\n custom_section_type_id?: number;\n}\n\n\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n \n return items.filter( r => r.ach_id >= 1).map( r => {\n const completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n const completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n const completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n const x: TMissionOrBadge = {\n id: r.ach_id,\n name: r.ach_public_meta.name,\n description: r.ach_public_meta.description,\n hint_text: r.ach_public_meta.hint_text,\n unlock_mission_description: r.ach_public_meta.unlock_mission_description,\n image: r.ach_public_meta.image_url,\n is_completed: r.isCompleted,\n is_locked: r.isLocked,\n is_requires_optin: r.requiresOptin,\n is_opted_in: r.isOptedIn,\n time_limit_ms: r.time_limit_ms,\n dt_start: r.start_date_ts,\n reward: r.ach_public_meta.reward,\n progress: r.progress,\n type: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n cta_action: r.ach_public_meta.cta_action,\n cta_text: r.ach_public_meta.cta_text,\n custom_section_id: r.ach_public_meta.custom_section_id,\n only_in_custom_section: r.ach_public_meta.only_in_custom_section,\n custom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n position: r.ach_public_meta.position,\n ribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n tasks: (r.achievementTasks || [])\n .filter( t => t.task_type_id === AchievementTaskType.CompleteAchievement)\n .map( t => ({\n id: t.task_id,\n name: t.task_public_meta?.name,\n points_reward: t.points_reward,\n is_completed: t.isCompleted,\n progress: t.userProgress,\n execution_count_expected: t.executionCount,\n execution_count_actual: t.userExecutedCount,\n })),\n related_games: (r.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n category_ids: r.ach_categories ?? [],\n ach_completed_id: r.ach_completed_id,\n requires_prize_claim: r.requires_prize_claim,\n prize_claimed_date_ts: r.prize_claimed_date_ts,\n complete_date: r.complete_date,\n complete_date_ts: r.complete_date_ts,\n completed_today: completedToday,\n completed_this_week: completedThisWeek,\n completed_this_month: completedThisMonth,\n custom_section_type_id: r.ach_public_meta.custom_section_type_id,\n }\n return x;\n});\n} \n\n","export enum ScheduledMissionType {\n\n Future = 1,\n Past = 2,\n Present = 3,\n}","import { TAchCategory } from \"../WSAPI/WSAPITypes\";\nimport { AchCategoryPublicMeta } from \"./AchCategoryPublicMeta\";\n\nexport interface AchCategory {\n\n id?: number;\n publicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => { \n return items.map( r => {\n const x: TAchCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","/** @hidden */\nexport enum TournamentRegistrationType {\n\n AUTO = 1,\n OPT_IN = 2,\n BUY_IN_POINTS = 3,\n MANUAL_APPROVAL = 4,\n REQUIRES_QUALIFICATION = 5\n // BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName = 'AUTO' | 'OPT_IN' | 'BUY_IN_POINTS' | 'MANUAL_APPROVAL' | 'REQUIRES_QUALIFICATION' | 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n return ({\n [TournamentRegistrationType.AUTO]: 'AUTO',\n [TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n [TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n [TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n [TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n }[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n}","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\n NOT_REGISTERED = 0,\n REGISTERED = 1,\n FINISHED = 2,\n PENDING = 3,\n CANCELLED = 4,\n REGISTERED_PENDING_QUALIFICATION = 5,\n QUALIFIED_PENDING_REGISTRATION = 6\n}\n\nexport enum TournamentRegistrationStatusName {\n NOT_REGISTERED = 'NOT_REGISTERED',\n REGISTERED = 'REGISTERED',\n FINISHED = 'FINISHED',\n PENDING = 'PENDING',\n CANCELLED = 'CANCELLED',\n REGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n QUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n UNKNOWN = \"UNKNOWN\"\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n return ({\n [TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n [TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n [TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n [TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: TournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n [TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: TournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION\n }[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n} \n\n","import {TournamentRegistrationType, TournamentRegistrationTypeGetName} from \"./TournamentRegistrationType\";\nimport {TournamentInstanceStatus} from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed } from \"./TournamentRegistrationStatus\";\nimport { TournamentType } from \"./TournamentType\";\nimport { TournamentPublicMeta } from \"./TournamentPublicMeta\";\nimport { TTournament } from \"../WSAPI/WSAPITypes\";\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from \".\";\nimport { IntUtils } from \"../IntUtils\";\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\n\nexport interface Tournament {\n\n /** ID of tournament template */\n tournamentId?: number;\n /** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n tournamentInstanceId?: number;\n /** Type of the tournament. For now only SCHEDULED is support */\n tournamentType?: TournamentType;\n /** Meta information about tournament that should be used to build UI */\n publicMeta?: TournamentPublicMeta;\n /** Cost of registration in the tournament in gamification points */\n buyInAmount?: number;\n /** Not in use */\n prizePool?: number;\n /** The time when tournament is going to start */\n startTime?: string;\n /** The time when tournament is going to finish */\n endTime?: string;\n /** The time when tournament is going to start, epoch */\n startTimeTs?: number;\n /** The time when tournament is going to finish, epoch */\n endTimeTs?: number; \n /** Number of users registered in the tournament */\n registrationCount?: number;\n /** Not in use */\n totalCount?: number;\n /** Type of registration in the tournament */\n registrationType?: TournamentRegistrationType;\n /** Status of registration in the tournament for current user */\n tournamentRegistrationStatus?: TournamentRegistrationStatus;\n /** Status of tournament instance */\n tournamentInstanceStatus?: TournamentInstanceStatus;\n /** flag indicating if current user is registered in the tournament */\n isUserRegistered?: boolean;\n /** Indicator if tournament allows later registration, when tournament is already started */\n allowLateRegistration?: boolean;\n /** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n playersMinCount?: number;\n /** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n playersMaxCount?: number;\n /** Tournament duration in millisecnnds */\n durationMs?: number;\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n /** Information about current user */\n tournamentPlayer?: TournamentPlayer\n\n /** List of casino games (or other types of entities) related to the tournament */\n related_games?: AchRelatedGame[];\n}\n\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => { \n\n return items.filter(r => r.tournamentId >= 1).map(r => {\n const x: TTournament = {\n instance_id: r.tournamentInstanceId,\n tournament_id: r.tournamentId,\n name: r.publicMeta.name,\n description: r.publicMeta.description,\n segment_dont_match_message: r.publicMeta.segment_dont_match_message,\n image1: r.publicMeta.image_url,\n image2: r.publicMeta.image_url2,\n image2_mobile: r.publicMeta.image_url2_mobile,\n prize_pool_short: r.publicMeta.prize_pool_short,\n custom_price_text: r.publicMeta.custom_price_text,\n custom_section_id: r.publicMeta.custom_section_id,\n custom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n is_featured: r.publicMeta.featured,\n ribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n priority: r.publicMeta.position,\n \n\n start_time: r.startTimeTs,\n end_time: r.endTimeTs,\n registration_count: r.registrationCount,\n is_user_registered: r.isUserRegistered,\n players_min_count: r.playersMinCount,\n players_max_count: r.playersMaxCount,\n registration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n registration_type: TournamentRegistrationTypeGetName(r.registrationType),\n registration_cost_points: r.buyInAmount,\n duration_ms: r.durationMs,\n\n is_active: TournamentUtils.isActive(r),\n is_can_register: TournamentUtils.isCanRegister(r),\n is_cancelled: TournamentUtils.isCancelled(r),\n is_finished: TournamentUtils.isFinished(r),\n is_in_progress: TournamentUtils.isInProgress(r),\n is_upcoming: TournamentUtils.isUpcoming(r),\n\n }\n\n if (r.prizeStructure) {\n x.prizes = r.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (r.tournamentPlayer) {\n x.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true)\n }\n\n return x;\n });\n\n\n}\n\n","export enum TournamentInstanceStatus {\n\n PUBLISHED = 1,\n REGISTER = 2,\n STARTED = 3,\n FINISHED = 4,\n CANCELLED = 5,\n FAILED = 6,\n FINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n return {\n [TournamentInstanceStatus.PUBLISHED]: \"PUBLISHED\",\n [TournamentInstanceStatus.REGISTER]: \"REGISTER\",\n [TournamentInstanceStatus.STARTED]: \"STARTED\",\n [TournamentInstanceStatus.FINISHED]: \"FINISHED\",\n [TournamentInstanceStatus.CANCELLED]: \"CANCELLED\",\n [TournamentInstanceStatus.FAILED]: \"FAILED\",\n [TournamentInstanceStatus.FINALIZING]: \"FINALIZING\",\n }[s];\n};","import { ActivityTypeLimited } from \"../Core\";\nimport { Tournament } from \"./Tournament\";\nimport { TournamentInstanceStatus } from \"./TournamentInstanceStatus\";\nimport { TournamentPlayer } from \"./TournamentPlayer\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TournamentRegistrationStatus } from \"./TournamentRegistrationStatus\";\nimport { TournamentRegistrationType } from \"./TournamentRegistrationType\";\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n return {\n [ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n [ActivityTypeLimited.Points]: 'POINTS_ADD',\n [ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n [ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n [ActivityTypeLimited.MiniGameAttempt]: \"MINI_GAME_ATTEMPT\",\n [ActivityTypeLimited.Bonus]: 'BONUS',\n }[type]\n}\n\nexport class TournamentUtils {\n\n public static isCanRegister = (tournament: Tournament): boolean => {\n if (tournament) {\n if (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n return true;\n }\n return !tournament.isUserRegistered &&\n (tournament.playersMaxCount !== tournament.registrationCount || tournament.playersMaxCount === null || tournament.playersMaxCount === 0) &&\n tournament.registrationType !== TournamentRegistrationType.AUTO &&\n (\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n (tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED && tournament.allowLateRegistration)\n );\n }\n return false;\n }\n\n\n public static isInProgress = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n }\n return false;\n }\n\n public static isActive = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n }\n return false;\n }\n\n public static isFinished = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING;\n }\n return false;\n }\n\n public static isCancelled = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n }\n return false;\n }\n\n public static isUpcoming = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED || tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER;\n }\n return false;\n }\n\n public static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n if (player) {\n const playerTransformed = {\n public_username: player.userAltName,\n avatar_url: player.avatar_url,\n position: player.position,\n scores: player.scores,\n is_me: player.isMe,\n }\n \n if (isMe) {\n delete playerTransformed.is_me;\n }\n\n return playerTransformed;\n }\n\n return null;\n }\n\n public static getPrizeTransformed = (prize: TournamentPrize) => {\n if (prize) {\n return ({...prize, type: tournamentPrizeTypeToPrizeName(prize.type)})\n }\n\n return null;\n }\n\n}\n","import {Tournament, TournamentItemsTransform} from \"./Tournament\";\nimport {TournamentPlayer} from \"./TournamentPlayer\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TTournamentDetailed } from \"../WSAPI/WSAPITypes\";\nimport { TournamentUtils } from \"./TournamentUtils\";\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\n /** tournament info */\n tournamentInfo: {\n /** id of label, not in use */\n labelId: number;\n tournamentLobbyInfo: Tournament;\n /** list of registered users */\n players: TournamentPlayer[];\n },\n /** information about current user position */\n userPosition: TournamentPlayer,\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n const response: TTournamentDetailed = {\n ...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n related_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n players: t.tournamentInfo.players.map( p => TournamentUtils.getPlayerTransformed(p)),\n };\n\n if (t.prizeStructure) {\n response.prizes = t.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (t.userPosition) {\n response.me = TournamentUtils.getPlayerTransformed(t.userPosition, true)\n }\n\n return response;\n}\n\n\n","export enum TournamentRegistrationError {\n NO_ERROR = 0,\n TOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n TOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n TOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n TOURNAMENT_ALREADY_REGISTERED = 30004,\n TOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n TOURNAMENT_USER_NOT_REGISTERED = 30006,\n TOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n TOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\n SCHEDULED = 1,\n SNG = 2,\n TEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TLevel } from \"../WSAPI/WSAPITypes\";\nimport { Level } from \"./Level\";\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\n levels: Level[];\n}\n\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n \n return levels?.levels.map((l => ({\n id: l.level_id,\n name: l.level_public_meta.name,\n description: l.level_public_meta.description,\n image: l.level_public_meta.image_url,\n required_points: l.required_points,\n visibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n required_level_counter_1: l.required_level_counter_1,\n required_level_counter_2: l.required_level_counter_2,\n custom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n })));\n}","import { ClassId } from \"../Base/ClassId\";\nimport { CoreUtils } from \"../Core\";\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from \"../MiniGames\";\nimport { ECacheContext, OCache } from \"../OCache\";\nimport { SmarticoAPI } from \"../SmarticoAPI\";\nimport { InboxMarkMessageAction, LeaderBoardDetailsT, TAchCategory, TBuyStoreItemResult, TGetTranslations, TInboxMessage, TInboxMessageBody, TLevel, TMiniGamePlayResult, TMiniGameTemplate, TMissionClaimRewardResult, TMissionOptInResult, TMissionOrBadge, TSegmentCheckResult, TStoreCategory, TStoreItem, TTournament, TTournamentDetailed, TTournamentRegistrationResult, TUICustomSection, TUserProfile, UserLevelExtraCountersT } from \"./WSAPITypes\";\nimport { LeaderBoardPeriodType } from \"../Leaderboard\";\nimport { JackpotDetails, JackpotPot, JackpotWinPush, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"../Jackpots\";\n \n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n /** @hidden */\nenum onUpdateContextKey {\n Saw = 'saw',\n Missions = 'missions',\n TournamentList = 'tournamentList',\n InboxMessages = 'inboxMessages',\n Badges = 'badges',\n Levels = 'levels',\n StoreItems = 'storeItems',\n StoreCategories = 'storeCategories',\n AchCategories = 'achCategories',\n LeaderBoards = 'leaderBoards',\n LevelExtraCounters = 'levelExtraCounters',\n Segments = 'segments',\n StoreHistory = 'storeHistory',\n Jackpots = 'jackpots',\n Pots = 'Pots',\n CustomSections = 'customSections'\n}\n\n\n/** @group General API */\nexport class WSAPI {\n\n private onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n private jackpotGetSignature: string = '';\n\n /** @private */\n constructor(private api: SmarticoAPI) {\n\n OCache.clearAll();\n if (this.api.tracker) {\n const on = this.api.tracker.on;\n on(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n on(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin());\n on(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) => on(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)));\n on(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissionsOnOptIn());\n on(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournamentsOnRegistration());\n on(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n on(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n on(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n on(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache());\n }\n }\n\n /** Returns information about current user\n * \n * **Example**:\n * ```\n * _smartico.api.getUserProfile().then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n * */\n public getUserProfile(): TUserProfile {\n if (this.api.tracker) {\n const o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n o.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n return o;\n } else {\n throw new Error('Tracker is not initialized, cannot getUserProfile');\n }\n }\n\n /** Check if user belongs to specific segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentMatch(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async checkSegmentMatch(segment_id: number): Promise<boolean> {\n const r = await this.api.coreCheckSegments(null, [segment_id]);\n if (r && r.find(s => s.segment_id === segment_id && s.is_matching)) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Check if user belongs to specific list of segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n */\n public async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n return await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n } \n\n /** Returns all the levels available the current user\n * **Example**:\n * ```\n * _smartico.api.getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLevels(): Promise<TLevel[]> {\n return OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n }\n\n /** Returns all the missions available the current user.\n * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n * \n * **Example**:\n * ```\n * _smartico.api.getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns all the badges available the current user\n * \n * **Visitor mode: not supported**\n */\n public async getBadges(): Promise<TMissionOrBadge[]> {\n return OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the extra counters for the current user level.\n * These are counters that are configured for each Smartico client separatly by request.\n * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n * \n * **Example**:\n * ```\n * _smartico.api.getUserLevelExtraCounters().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n return OCache.use(onUpdateContextKey.LevelExtraCounters, ECacheContext.WSAPI, () => this.api.getUserGamificationInfoT(null), CACHE_DATA_SEC);\n }\n\n /** \n * \n * Returns all the store items available the current user\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n\n public async getStoreItems(): Promise<TStoreItem[]> {\n return OCache.use(onUpdateContextKey.StoreItems, ECacheContext.WSAPI, () => this.api.storeGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n * **Example**:\n * ```\n * _smartico.api.buyStoreItem(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n const r = await this.api.buyStoreItem(null, item_id);\n\n const o: TBuyStoreItemResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * \n * Returns store categories\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getStoreCategories(): Promise<TStoreCategory[]> {\n return OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, () => this.api.storeGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched. \n * The maximum number of items per request is limited to 20. \n * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n * \n * **Example**:\n * ```\n * _smartico.api.getStorePurchasedItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n\n public async getStorePurchasedItems({ limit, offset, onUpdate } : { limit?: number, offset?: number, onUpdate?: (data: TStoreItem[]) => void} = {}): Promise<TStoreItem[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n }\n return OCache.use(onUpdateContextKey.StoreHistory, ECacheContext.WSAPI, () => this.api.storeGetPurchasedItemsT(null, limit, offset), CACHE_DATA_SEC);\n }\n\n /**\n * Returns missions & badges categories\n * \n * **Example**:\n * ```\n * _smartico.api.getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getAchCategories(): Promise<TAchCategory[]> {\n return OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, () => this.api.achGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns list of custom sections\n * \n * **Example**:\n * ```\n * _smartico.api.getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getCustomSections(): Promise<TUICustomSection[]> {\n return OCache.use(onUpdateContextKey.CustomSections, ECacheContext.WSAPI, () => this.api.getCustomSectionsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the list of mini-games available for user \n * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n *\n */\n public async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGameTemplate[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n * \n * **Visitor mode: not supported** \n */\n public async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n const r = await this.api.sawSpinRequest(null, template_id);\n this.api.doAcknowledgeRequest(null, r.request_id)\n\n const o: TMiniGamePlayResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n prize_id: r.saw_prize_id,\n }\n\n return o;\n }\n\n /** \n * Requests an opt-in for the specified mission_id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult>{\n const r = await this.api.missionOptIn(null, mission_id);\n\n const o: TMissionOptInResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * Request for claim reward for the specified mission id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n const r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n const o: TMissionClaimRewardResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** Returns all the active instances of tournaments \n * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * */\n public async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.TournamentList, ECacheContext.WSAPI, () => this.api.tournamentsGetLobbyT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n */\n public async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n return this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n }\n\n /** \n * Requests registration for the specified tournament instance. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult>{\n const r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n const o: TTournamentRegistrationResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * 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.\n * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n * \n * **Example**:\n * ```\n * _smartico.api.getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n return OCache.use(onUpdateContextKey.LeaderBoards, ECacheContext.WSAPI, () => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod), CACHE_DATA_SEC);\n }\n\n /** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched. \n * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites. \n * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n * This functions return list of messages without the body of the message. \n * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n *\n * **Visitor mode: not supported** \n * \n * @param params\n */\n public async getInboxMessages({ from, to, onlyFavorite, onUpdate }: { from?: number, to?: number, onlyFavorite?: boolean, onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<TInboxMessage[]> { \n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n }\n\n return await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n }\n\n /** \n * Returns the message body of the specified message guid.\n *\n * **Visitor mode: not supported** \n */\n public async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n return await this.api.getInboxMessageBodyT(messageGuid);\n }\n\n /** \n * Requests to mark inbox message with specified guid as read\n *\n * **Visitor mode: not supported** \n */\n public async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.markInboxMessageRead(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark all inbox messages as rea\n *\n * **Visitor mode: not supported** \n */ \n public async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n const r = await this.api.markAllInboxMessageRead(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n *\n * **Visitor mode: not supported** \n */\n public async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n const r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete inbox message\n *\n * **Visitor mode: not supported** \n */\n \n public async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteInboxMessage(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete all inbox messages\n *\n * **Visitor mode: not supported** \n */\n\n public async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteAllInboxMessages(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n */\n public async getTranslations(lang_code: string): Promise<TGetTranslations> {\n const r = await this.api.getTranslationsT(null, lang_code, []);\n\n return {\n translations: r.translations\n }\n }\n\n private async updateOnSpin(data: SAWSpinsCountPush) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const index = templates.findIndex(t => t.id === data.saw_template_id);\n templates[index].spin_count = data.spin_count;\n this.updateEntity(onUpdateContextKey.Saw, templates)\n }\n\n private async updateOnAddSpin() {\n const payload = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, payload)\n }\n\n private async updateOnPrizeWin(data: SAWDoSpinResponse) {\n if (data.errCode === SAWSpinErrorCode.SAW_OK) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const template: TMiniGameTemplate = templates.find(t => t.prizes.find(p => p.id === data.saw_prize_id));\n const prizeType = template.prizes.find(p => p.id === data.saw_prize_id)?.prize_type;\n\n if (\n template.jackpot_add_on_attempt ||\n template.spin_count === 1 ||\n prizeType === MiniGamePrizeTypeName.JACKPOT ||\n prizeType === MiniGamePrizeTypeName.SPIN\n ) {\n const updatedTemplates = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, updatedTemplates)\n }\n }\n }\n\n private async updateMissionsOnOptIn() {\n const payload = await this.api.missionsGetItemsT(null);\n this.updateEntity(onUpdateContextKey.Missions, payload)\n }\n\n private async updateTournamentsOnRegistration() {\n const payload = await this.api.tournamentsGetLobbyT(null);\n this.updateEntity(onUpdateContextKey.TournamentList, payload)\n }\n\n private async updateInboxMessages() {\n const payload = await this.api.getInboxMessagesT(null);\n this.updateEntity(onUpdateContextKey.InboxMessages, payload)\n }\n\n private async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n OCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n const onUpdate = this.onUpdateCallback.get(contextKey);\n if (onUpdate) {\n onUpdate(payload);\n }\n }\n\n private async jackpotClearCache() {\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots); \n }\n\n /** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n * If filter is not provided, all active jackpots will be returned.\n * Filter can be used to get jackpots related to specific game or specific jackpot template.\n * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async jackpotGet(filter?: { related_game_id?: string, jp_template_id?: number }): Promise<JackpotDetails[]> {\n\n const signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n if (signature !== this.jackpotGetSignature) {\n this.jackpotGetSignature = signature;\n this.jackpotClearCache();\n }\n\n let jackpots: JackpotDetails[] = [];\n let pots: JackpotPot[] = [];\n\n jackpots = await OCache.use<JackpotDetails[]>(onUpdateContextKey.Jackpots, ECacheContext.WSAPI, async () => {\n \n const _jackpots = await this.api.jackpotGet(null, filter);\n const _pots = _jackpots.items.map( jp => jp.pot);\n\n OCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n return _jackpots.items;\n\n }, JACKPOT_TEMPLATE_CACHE_SEC);\n\n\n if (jackpots.length > 0) {\n pots = await OCache.use<JackpotPot[]>(onUpdateContextKey.Pots, ECacheContext.WSAPI, async () => {\n \n const jp_template_ids = jackpots.map(jp => jp.jp_template_id);\n return (await this.api.potGet(null, { jp_template_ids })).items;\n\n }, JACKPOT_POT_CACHE_SEC);\n }\n\n return jackpots.map( jp => {\n let _jp: JackpotDetails = {\n ...jp,\n pot: pots.find( p => p.jp_template_id === jp.jp_template_id),\n };\n return _jp;\n });\n\n }\n\n /** \n * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted in to the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptIn');\n };\n\n const result = await this.api.jackpotOptIn(null, filter);\n\n return result;\n }\n\n /** \n * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted out from the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptOut');\n };\n\n const result = await this.api.jackpotOptOut(null, filter);\n\n return result;\n }\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from \"../WSAPI/WSAPITypes\";\nimport { LeaderBoardDetails } from \"./LeaderBoardDetails\";\nimport { LeaderBoardPeriodType } from \"./LeaderBoardPeriodType\";\nimport { LeaderBoardPosition } from \"./LeaderBoardPosition\";\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n if (reward_points && reward_points.length) {\n return reward_points.map((r, i) => ({ place: i + 1, points: r }));\n }\n\n return null;\n}\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n if (user) {\n const x: LeaderBoardUserT= {\n public_username: user?.public_username || user.user_alt_name,\n avatar_url: user.avatar_url,\n position: user.position_in_board,\n points: user.points_accumulated,\n is_me: user.is_me,\n }\n \n if (isMe) {\n delete x.is_me;\n }\n\n return x;\n }\n\n return null;\n}\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n if (board) {\n const x: LeaderBoardDetailsT = {\n board_id: board.board_id,\n name: board.board_public_meta.name,\n description: board.board_public_meta.description,\n rules: board.board_public_meta.rules,\n period_type_id: board.period_type_id,\n rewards: pointsRewardTransform(board.reward_points),\n users: board.positions.map(p => getLeaderBoardPlayerTransformed(p)),\n me: getLeaderBoardPlayerTransformed(board.userPosition, true),\n }\n\n return x;\n }\n\n return null;\n}","export enum AchCustomSectionType {\n HTML_PAGE = 1,\n MISSIONS_CATEGORY = 2,\n TOURNAMENTS_CATEGORY = 3,\n LEVELS = 4,\n MINI_GAMES = 5,\n MISSION_CUSTOM_LAYOUT = 6,\n MATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n VALENTINES_LIGHT = 'valentines-light',\n VALENTINES_DARK = 'valentines-dark',\n EURO_2024 = 'euro-2024',\n GENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n ONLY_OVERVIEW = 1,\n NO_OVERVIEW = 2,\n ALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n ANY = 1,\n ALL_MISSIONS = 2,\n ALL_EXCEPT_COMPLETED = 3,\n ALL_EXCEPT_LOCKED = 4,\n ALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}","import { TUICustomSection } from \"../WSAPI/WSAPITypes\";\nimport { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from \"./AchCustomSection\";\n\nexport interface UICustomSection {\n\n body?: string;\n menu_img?: string;\n menu_name?: string;\n custom_skin_images?: string;\n section_type_id?: AchCustomSectionType;\n theme?: AchCustomLayoutTheme;\n generic_custom_css?: string;\n mission_tabs_options?: AchMissionsTabsOptions;\n overview_missions_filter?: AchOverviewMissionsFilter;\n overview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n return items.filter(r => r.section_type_id !== undefined && r.section_type_id >= 1).map( r => {\n const x: TUICustomSection = {\n body: r.body,\n menu_img: r.menu_img,\n menu_name: r.menu_name,\n section_type_id: r.section_type_id,\n custom_skin_images: r.custom_skin_images,\n generic_custom_css: r.generic_custom_css,\n mission_tabs_options: r.mission_tabs_options,\n overview_missions_count: r.overview_missions_count,\n overview_missions_filter: r.overview_missions_filter,\n theme: r.theme\n }\n return x;\n })\n}","import { ClassId } from \"./Base/ClassId\";\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport { SAWDoAknowledgeRequest, SAWDoAknowledgeResponse, SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode, SAWTemplatesTransform } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, PublicLabelSettings, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse, InboxMessageBody, InboxMessageBodyTransform, InboxMessagesTransform, MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse, MarkInboxMessageReadRequest, MarkInboxMessageReadResponse, MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse } from './Inbox';\nimport { BuyStoreItemRequest, BuyStoreItemResponse, GetCategoriesStoreResponse, GetStoreHistoryRequest, GetStoreHistoryResponse, GetStoreItemsResponse, StoreCategoryTransform, StoreItemPurchasedTransform, StoreItemTransform } from './Store';\nimport { AchCategoryTransform, AchClaimPrizeRequest, AchClaimPrizeResponse, AchievementOptinRequest, AchievementOptinResponse, AchievementType, GetAchCategoriesResponse, GetAchievementMapRequest, GetAchievementMapResponse, UserAchievementTransform } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse, TournamentItemsTransform, TournamentRegisterRequest, TournamentRegisterResponse, tournamentInfoItemTransform } from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from \"./Leaderboard\";\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from \"./Level\";\nimport { WSAPI } from \"./WSAPI/WSAPI\";\nimport { TInboxMessage, TInboxMessageBody, TLevel, TMiniGameTemplate, TMissionOrBadge, TStoreCategory, TAchCategory, TStoreItem, TTournament, TTournamentDetailed, LeaderBoardDetailsT, UserLevelExtraCountersT, TSegmentCheckResult, TUICustomSection } from \"./WSAPI/WSAPITypes\";\nimport { getLeaderBoardTransform } from \"./Leaderboard/LeaderBoards\";\nimport { GetAchievementsUserInfoResponse } from \"./Core/GetAchievementsUserInfoResponse\";\nimport { CheckSegmentMatchResponse } from \"./Core/CheckSegmentMatchResponse\";\nimport { CheckSegmentMatchRequest } from \"./Core/CheckSegmentMatchRequest\";\nimport { GetJackpotsPotsRequest, GetJackpotsPotsResponse, GetJackpotsRequest, GetJackpotsResponse, JackpotDetails, JackpotPot, JackpotsOptinRequest, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"./Jackpots\";\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from \"./CustomSections\";\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = \"EN\";\n\ninterface Tracker {\n label_api_key: string;\n userPublicProps: any;\n on: (callBackKey: ClassId, func: (data: any) => void) => void;\n getLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n logger?: ILogger;\n logCIDs?: ClassId[];\n logHTTPTiming?: boolean;\n tracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private wsUrl: string;\n private inboxCdnUrl: string;\n private partnerUrl: string;\n public avatarDomain: string;\n\n private logger: ILogger;\n private logCIDs: ClassId[];\n private logHTTPTiming: boolean;\n public tracker?: Tracker;\n\n public constructor(private label_api_key: string, private brand_api_key: string, private messageSender: MessageSender, options: IOptions = {}) {\n\n this.logger = options.logger || (console as any);\n\n if (this.logger.always === undefined) {\n this.logger.always = this.logger.info;\n }\n\n this.logCIDs = options.logCIDs || [];\n this.logHTTPTiming = options.logHTTPTiming || false;\n this.tracker = options.tracker;\n\n this.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n this.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n this.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n this.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\n }\n\n public static getEnvDnsSuffix(label_api_key: string): string {\n\n let ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n \n if (ENV_ID === '1' || ENV_ID === '2') {\n ENV_ID = ''\n }\n return ENV_ID;\n }\n\n public static getEnvId(label_api_key: string): number {\n\n return label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n \n }\n\n public static getCleanLabelApiKey(label_api_key: string): string {\n return label_api_key.substring(0, 36);\n }\n\n public static getPublicUrl(label_api_key: string): string {\n return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n }\n\n public static getPublicWsUrl(label_api_key: string): string {\n return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n public static getAvatarUrl(label_api_key: string): string {\n return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n private async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('REQ', message)\n }\n\n if (force_language) {\n message.force_language = force_language;\n }\n\n let result: any;\n \n try {\n const timeStart = new Date().getTime();\n result = await this.messageSender(message, this.publicUrl, expectCID);\n const timeEnd = new Date().getTime();\n\n if (this.logHTTPTiming) {\n this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n }\n\n } catch (e) {\n this.logger.error(`Failed to make request to smartico channel, L2. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });\n throw(new Error(`Failed to make request to smartico channel, L1. ${e.message}`));\n }\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('RES', result)\n }\n\n if (expectCID) {\n if (Array.isArray(result)) { \n for (const str of result as string[]) {\n const obj: ProtocolResponse = JSON.parse(str);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n }\n if (obj.cid === expectCID) {\n return obj as any;\n }\n }\n this.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, { request: message, response: result });\n } else {\n return result;\n } \n } else {\n if (Array.isArray(result)) { \n if (result.length === 1) {\n const obj = JSON.parse(result[0]);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n } \n return obj;\n } else {\n this.logger.error('Expected one response, but got array', { request: message, response: result });\n }\n }\n return result;\n }\n }\n\n private buildMessage<TRequest,TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\n const message: ProtocolRequest = {\n // AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n // its not needed in WebSocket and can be deleted\n api_key: this.label_api_key, \n brand_key: this.brand_api_key,\n ext_user_id: user_ext_id,\n cid,\n uuid: IntUtils.uuid(),\n ts: new Date().getTime(),\n ...payload\n };\n\n if (message.ext_user_id === undefined || message.ext_user_id === null) {\n delete message.ext_user_id;\n }\n\n if (message.brand_key === undefined || message.brand_key === null) {\n delete message.brand_key;\n } \n\n return message as any\n }\n\n public async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n const eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n eventType,\n payload\n });\n\n const eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n return eventResponse;\n }\n\n public async coreGetTranslations(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n\n if (lang_code === undefined || lang_code === null || lang_code.trim && lang_code.trim() === '') {\n lang_code = DEFAULT_LANG_EN;\n } \n\n const response = await OCache.use<GetTranslationsResponse>(`${lang_code}-${this.label_api_key}-${this.brand_api_key}`, ECacheContext.Translations, async () => {\n\n const tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code: DEFAULT_LANG_EN,\n hash_code: 0,\n areas\n });\n\n const trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n if (lang_code !== DEFAULT_LANG_EN) {\n const trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code,\n hash_code: 0,\n areas\n }); \n\n const trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n \n Object.keys(trUser?.translations ?? {}).forEach( k => {\n trBase.translations[k] = trUser.translations[k];\n })\n }\n\n return trBase;\n\n }, cacheSec );\n\n return response;\n } \n\n public async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n \n return OCache.use<GetLabelInfoResponse>(`${this.label_api_key} - ${this.brand_api_key}`, ECacheContext.LabelInfo, async () => {\n\n const message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n return this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE)\n \n }, cacheSec);\n \n } \n\n public async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\n const message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n request_id: IntUtils.uuid() // AA: do we need request_id?\n });\n\n const r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n r.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n return r;\n } \n\n public async coreChangeUsername(user_ext_id: string, public_username_custom: string): Promise<{ public_username_custom: string }> {\n \n const message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n public_username_custom\n });\n \n return await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n }\n\n public async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n \n const message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n segment_id\n });\n \n const results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n return results.segments || [];\n }\n\n public async jackpotGet(user_ext_id: string, filter?: { related_game_id?: string, jp_template_id?: number }, force_language?: string ): Promise<GetJackpotsResponse> {\n\n const message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(user_ext_id, ClassId.JP_GET_JACKPOTS_REQUEST, filter);\n return await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n }\n\n public async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n const message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(user_ext_id, ClassId.JP_GET_LATEST_POTS_REQUEST, filter);\n return await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n }\n\n public async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n const message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(user_ext_id, ClassId.JP_OPTIN_REQUEST, payload);\n return await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n }\n\n public async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n const message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(user_ext_id, ClassId.JP_OPTOUT_REQUEST, payload);\n return await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n }\n\n public async sawGetTemplates(user_ext_id: string, force_language?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, { is_visitor_mode });\n\n const response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n if (response && response.templates) {\n response.templates.forEach(t => {\n \n if (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n const jackpotValue = t.jackpot_current + (t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', jackpotValue);\n t.prizes.forEach(p => {\n p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', jackpotValue);\n p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', jackpotValue);\n })\n }\n });\n }\n\n return response;\n }\n\n public async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n return SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n }\n\n public async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse>{\n const message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(user_ext_id, ClassId.SAW_AKNOWLEDGE_REQUEST, {\n request_id\n });\n\n return await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n }\n\n public async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n if (!saw_template_id) {\n throw new Error('Missing template id');\n }\n\n const request_id = IntUtils.uuid();\n\n const message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n saw_template_id,\n request_id\n });\n\n const spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n // to simulate fail\n // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n const status: string = {\n [SAWSpinErrorCode.SAW_OK]: 'OK',\n [SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n [SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n [SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n [SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n }[spinAttemptResponse.errCode] || 'OTHER';\n\n await this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n saw_template_id,\n status,\n round_id,\n });\n\n return {...spinAttemptResponse, request_id };\n }\n\n public async missionOptIn(user_ext_id: string, mission_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n const message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(user_ext_id, ClassId.MISSION_OPTIN_REQUEST, {\n achievementId: mission_id\n });\n\n const res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n return res;\n }\n\n public async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n\n const message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(user_ext_id, ClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST, {\n ach_id: mission_id,\n ach_completed_id: ach_completed_id\n })\n\n const res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n return res;\n }\n\n public async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(user_ext_id, ClassId.TOURNAMENT_REGISTER_REQUEST, {\n tournamentInstanceId\n });\n\n const res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n return res;\n }\n\n public async buyStoreItem(user_ext_id: string, itemId: number) {\n if (!itemId) {\n throw new Error('Missing store item id');\n }\n const message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n itemId\n });\n\n const res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n return res;\n }\n\n public async inboxGetMessages(user_ext_id: string, limit: number = 10, offset: number = 0): Promise<GetInboxMessagesResponse> {\n\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\n }\n\n public async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n const message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n return await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n }\n\n public async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n return StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n }\n\n public async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n const message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n return await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n }\n\n public async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n return StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n }\n\n public async storeGetPurchasedItems(user_ext_id: string, limit: number = 20, offset: number = 0): Promise<GetStoreHistoryResponse> {\n\n const message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(user_ext_id, ClassId.ACH_SHOP_ITEM_HISTORY_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n }\n\n public async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n return StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n }\n\n public async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Mission);\n }\n return responseClone;\n }\n\n public async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n }\n\n public async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_USER_REQUEST);\n\n return await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n }\n\n public async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n const response = await this.getUserGamificationInfo(user_ext_id);\n \n return {\n level_counter_1: response.level_counter_1,\n level_counter_2: response.level_counter_2,\n }\n }\n\n public async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\n const message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n return await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n }\n\n public async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n return AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n } \n\n public async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Badge);\n }\n return responseClone;\n } \n\n public async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n } \n\n\n public async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\n const message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(user_ext_id, ClassId.GET_TOURNAMENT_LOBBY_REQUEST);\n return await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\n }\n\n public async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n return TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n }\n\n public async tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number, force_language?: string): Promise<GetTournamentInfoResponse> {\n\n const message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(user_ext_id, ClassId.GET_TOURNAMENT_INFO_REQUEST, \n {\n tournamentInstanceId\n }\n );\n const response = await this.send<GetTournamentInfoResponse>(message, ClassId.GET_TOURNAMENT_INFO_RESPONSE, force_language);\n \n if (response.userPosition?.avatar_id) {\n response.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.tournamentInfo.players?.length) {\n response.tournamentInfo.players.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n }\n\n return response;\n\n }\n\n public async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n return tournamentInfoItemTransform(response);\n } \n\n public async leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false, force_language?: string): Promise<LeaderBoardDetails> {\n\n const message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(user_ext_id, ClassId.GET_LEADERS_BOARD_REQUEST, \n {\n period_type_id,\n snapshot_offset: prevPeriod ? 1 : 0,\n include_users: true\n }\n );\n\n const response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n const boardKey = Object.keys(response.map).find( k => period_type_id === undefined || k === period_type_id?.toString());\n\n if (boardKey === undefined) {\n return undefined;\n }\n\n if (response.map[boardKey]?.userPosition?.avatar_id) {\n response.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(response.map[boardKey].userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.map[boardKey]?.positions?.length) {\n response.map[boardKey].positions.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n \n }\n \n return response.map[boardKey];\n\n }\n\n public async leaderboardsGetT(user_ext_id: string, period_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY, prevPeriod: boolean = false): Promise<LeaderBoardDetailsT> { \n return getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n }\n\n public async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n const message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n return await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n }\n\n public async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n }\n\n public async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n const message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(user_ext_id, ClassId.GET_CUSTOM_SECTIONS_REQUEST);\n return await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n }\n\n public async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n return UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n }\n\n public async getTranslationsT(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n return await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n }\n\n public async getInboxMessages(user_ext_id: string, limit: number = 20, offset: number = 0, starred_only: boolean): Promise<GetInboxMessagesResponse> {\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset,\n starred_only\n });\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n }\n\n public async getInboxMessagesT(user_ext_id: string, from: number = 0, to: number = 20, favoriteOnly: boolean = false): Promise<TInboxMessage[]> {\n const limit = (to - from) > 20 ? 20 : to - from;\n const offset = from;\n\n return InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n }\n\n public async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\n const getMessageBody = async (messageGuid: string): Promise<InboxMessageBody>=> {\n const inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n try {\n const url = `${inboxCdnUrl}${messageGuid}.json`;\n \n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n }\n });\n const data = await response.json();\n return data || {};\n } catch (error) {\n this.logger.error('Error fetching inbox message body:', error);\n return null;\n }\n };\n\n return await getMessageBody(messageGuid)\n }\n\n public async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n const message = await this.getInboxMessageBody(messageGuid);\n return InboxMessageBodyTransform(message);\n }\n\n public async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n engagement_uid: messageGuid\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n all_read: true\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markUnmarkInboxMessageAsFavorite(user_ext_id: string, messageGuid: string, mark: boolean): Promise<MarkInboxMessageStarredResponse> {\n const message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(user_ext_id, ClassId.MARK_INBOX_STARRED_REQUEST, {\n engagement_uid: messageGuid,\n is_starred: mark\n });\n\n return await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n }\n\n public async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n engagement_uid: messageGuid,\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n public async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n all_deleted: true\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n\n public getWSCalls(): WSAPI {\n return new WSAPI(this);\n }\n\n}\n\nexport { SmarticoAPI, MessageSender }","import { TSMap } from \"typescript-map\";\n\nclass CookieStore {\n private static cookieStore = new TSMap<string, string[]>()\n\n public static get(key: string): string[] | undefined {\n \n return CookieStore.cookieStore.get(key);\n }\n\n public static set(key: string, value: string[]) {\n const v = value.map(v => v.split(';')[0]);\n CookieStore.cookieStore.set(key, v);\n }\n}\n\nexport { CookieStore }","export enum QuizSportType {\n Soccer = 1,\n Tennis = 5,\n Basketball = 6,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n TwoTeamsWithScore = 1,\n RedCard = 2,\n OneXTwo = 3,\n OneXTwoHalftime = 4,\n HalftimeFulltime = 5,\n FirstGoal = 6,\n DoubleChance = 7,\n OverUnder2_5 = 8,\n OverUnder1_5Halftime = 9,\n OverUnder1_5__2ndHalf = 10,\n TotalCorners8_5 = 11,\n TotalCorners9_5 = 12,\n Corners1x2 = 13,\n One_Two = 14,\n Overtime = 15,\n OddEven = 16,\n OddEvenHomeAway = 17,\n FirstSet = 18,\n SecondSet = 19,\n ThirdSet = 20,\n FourthSet = 21,\n FifthSet = 22,\n PlayerOneWinsOneSet = 23,\n PlayerTwoWinsOneSet = 24,\n LastGoal = 25,\n\n CustomSport = 26,\n CustomNonSport = 27,\n}","export enum QuizAnswersValueType {\n HomeTeam = '1',\n AwayTeam = '2',\n Draw = 'x',\n HomeTeamHomeTeam = '1/1',\n HomeTeamDraw = '1/x',\n HomeTeamAwayTeam = '1/2',\n DrawHomeTeam = 'x/1',\n DrawDraw = 'x/x',\n DrawAwayTeam = 'x/2',\n AwayTeamHomeTeam = '2/1',\n AwayTeamDraw = '2/x',\n AwayTeamAwayTeam = '2/2',\n Yes = 'yes',\n No = 'no',\n Odd = 'odd',\n Even = 'even',\n HomeOdd = '1/odd',\n HomeEven = '1/even',\n AwayOdd = '2/odd',\n AwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\n\nexport const quizAnswersTrKeys = {\n [quizDrawReplacementText]: 'quizAnswer_draw',\n [quizYesReplacementText]: 'quizAnswer_yes',\n [quizNoReplacementText]: 'quizAnswer_no',\n [quizOddReplacementText]: 'quizAnswer_odd',\n [quizEvenReplacementText]: 'quizAnswer_even',\n [quizOrReplacementText]: 'quizAnswer_or',\n}\n","import { QuizAnswersValueType, quizAnswerAwayTeamReplacementText, quizAnswerHomeTeamReplacementText, quizDrawReplacementText, quizEvenReplacementText, quizNoReplacementText, quizOddReplacementText, quizOrReplacementText, quizYesReplacementText } from \"./MarketsAnswers\";\nimport { SAWGPMarketType } from \"./MarketsType\";\n\nconst yesNoAnswers = [\n { text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n { text: quizNoReplacementText, value: QuizAnswersValueType.No }\n]\n\nconst homeAwayAnswers = [\n { text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n { text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam }\n]\n\nconst homeAwayDrawAnswers = [\n ...homeAwayAnswers,\n { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw },\n]\n\nexport const marketsInfo = [\n {\n type: SAWGPMarketType.OneXTwo,\n name: '1x2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2'},\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.OneXTwoHalftime,\n name: '1x2 Halftime',\n question: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.HalftimeFulltime,\n name: 'Halftime / Fulltime',\n question: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamHomeTeam },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.DrawHomeTeam },\n { text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n { text: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.DrawAwayTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamHomeTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamAwayTeam }\n ]\n },\n {\n type: SAWGPMarketType.FirstGoal,\n name: 'First Goal',\n question: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.LastGoal,\n name: 'Last Goal',\n question: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.DoubleChance,\n name: 'Double Chance',\n question: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n answers: [\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw }\n ]\n },\n {\n type: SAWGPMarketType.OverUnder2_5,\n name: 'Over/Under 2.5',\n question: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5Halftime,\n name: 'Over/Under 1.5 Halftime',\n question: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5__2ndHalf,\n name: 'Over/Under 1.5 2nd Half',\n question: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.RedCard,\n name: 'Red Card',\n question: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners8_5,\n name: 'Total Corners 8.5',\n question: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners9_5,\n name: 'Total Corners 9.5',\n question: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.Corners1x2,\n name: 'Corners 1x2',\n question: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.One_Two,\n name: '1-2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2'},\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.Overtime,\n name: 'Overtime',\n question: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OddEven,\n name: 'Odd/Even',\n question: { text: 'Is the sum of all points scored in the game going to be an odd number or even?', trKey: 'quizQuestion_oddEven' },\n answers: [\n { text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n { text: quizEvenReplacementText, value: QuizAnswersValueType.Even }\n ]\n },\n {\n type: SAWGPMarketType.OddEvenHomeAway,\n name: 'Odd/Even Home/Away',\n question: { text: 'Which team will win and what will be the sum of the points (Odd or Even)?', trKey: 'quizQuestion_oddEvenHomeAway' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven }\n ]\n },\n {\n type: SAWGPMarketType.FirstSet,\n name: 'First Set',\n question: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.SecondSet,\n name: 'Second Set',\n question: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.ThirdSet,\n name: 'Third Set',\n question: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FourthSet,\n name: 'Fourth Set',\n question: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FifthSet,\n name: 'Fifth Set',\n question: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.PlayerOneWinsOneSet,\n name: 'Player One Wins One Set',\n question: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.PlayerTwoWinsOneSet,\n name: 'Player Two Wins One Set',\n question: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n answers: yesNoAnswers\n },\n]","import { SAWGPMarketType } from \"./MarketsType\";\nimport { QuizSportType } from \"./SportTypes\";\n\nexport const QuizMarketPerSport = {\n [QuizSportType.Basketball]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.Overtime,\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OddEven,\n SAWGPMarketType.OddEvenHomeAway,\n SAWGPMarketType.DoubleChance,\n ],\n [QuizSportType.Soccer]: [\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OneXTwoHalftime,\n SAWGPMarketType.HalftimeFulltime,\n SAWGPMarketType.FirstGoal,\n SAWGPMarketType.LastGoal,\n SAWGPMarketType.DoubleChance,\n SAWGPMarketType.OverUnder2_5,\n SAWGPMarketType.OverUnder1_5Halftime,\n SAWGPMarketType.OverUnder1_5__2ndHalf,\n SAWGPMarketType.RedCard,\n SAWGPMarketType.TotalCorners8_5,\n SAWGPMarketType.TotalCorners9_5,\n SAWGPMarketType.Corners1x2,\n ],\n [QuizSportType.Tennis]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.FirstSet,\n SAWGPMarketType.SecondSet,\n SAWGPMarketType.ThirdSet,\n SAWGPMarketType.FourthSet,\n SAWGPMarketType.FifthSet,\n SAWGPMarketType.PlayerOneWinsOneSet,\n SAWGPMarketType.PlayerTwoWinsOneSet,\n SAWGPMarketType.OddEven\n ]\n}","enum JackpotContributionType {\n Fixed = 1,\n Percentage = 2\n}\n\n\nexport { JackpotContributionType }","\n\nenum JackpotType {\n Main = 1\n}\n\n\nexport { JackpotType }"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","_SAWBuyInType$Free$SA","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","_SAWGameType$SpinAWhe","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","_SAWPrizeType$NO_PRIZ","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","_SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","_proto","prototype","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","Promise","resolve","_temp","then","_f2","reject","clear","_this","clearContext","_this2","clearAll","_this3","ActivityTypeLimited","CoreUtils","currencySymbol","currency","_USD$EUR$JPY$GBP$AUD$","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","_StoreItemType$Bonus$","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","_TournamentRegistrati","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","_TournamentInstanceSt","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","_ActivityTypeLimited$","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissionsOnOptIn","TOURNAMENT_REGISTER_RESPONSE","updateTournamentsOnRegistration","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","_this4","Levels","levelsGetT","getMissions","_ref","onUpdate","_this5","Missions","missionsGetItemsT","getBadges","_this6","Badges","badgetsGetItemsT","getUserLevelExtraCounters","_this7","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","_this8","StoreItems","storeGetItemsT","buyStoreItem","item_id","_this9","err_code","errCode","err_message","errMsg","getStoreCategories","_this10","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","_temp2","_ref2","limit","offset","_this11","StoreHistory","storeGetPurchasedItemsT","getAchCategories","_this12","AchCategories","achGetCategoriesT","getCustomSections","_this13","CustomSections","getCustomSectionsT","getMiniGames","_temp3","_ref3","_this14","Saw","sawGetTemplatesT","playMiniGame","template_id","_this15","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","_this16","missionOptIn","requestMissionClaimReward","_this17","missionClaimPrize","getTournamentsList","_temp4","_ref4","_this18","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","_this19","tournamentsGetInfoT","registerInTournament","_this20","getLeaderBoard","periodType","getPreviousPeriod","_this21","LeaderBoards","leaderboardsGetT","getInboxMessages","_temp5","_ref5","from","to","onlyFavorite","_this22","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","_this23","getInboxMessageBodyT","markInboxMessageAsRead","_this24","markInboxMessageRead","markAllInboxMessagesAsRead","_this25","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","_this26","deleteInboxMessage","_this27","deleteAllInboxMessages","_this28","getTranslations","lang_code","_this29","getTranslationsT","translations","_this30","templates","index","findIndex","updateEntity","_this31","payload","_this32","_temp7","SAW_OK","_template$prizes$find","template","prizeType","_temp6","updatedTemplates","_this33","_this34","_this35","contextKey","_this36","Jackpots","Pots","jackpotGet","_this37","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","_OCache$use","_temp9","_jp","_temp8","jp_template_ids","potGet","_this37$api$potGet","_OCache$use2","jackpotOptIn","_this38","jackpotOptOut","_this39","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","_result","_exit","cid","result","_iterator","_createForOfIteratorHelperLoose","_step","done","obj","request","_catch","timeStart","_this$messageSender","timeEnd","url","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","GET_TRANSLATIONS_RESPONSE","trBase","trUserRQ","trUser","_trUser$translations","keys","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","CHECK_SEGMENT_MATCH_RESPONSE","results","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","_this13$sawGetTemplat","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","_SAWSpinErrorCode$SAW","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","_this22$storeGetItems","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","_this24$storeGetCateg","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","_this26$storeGetPurch","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","_this28$missionsGetIt","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","_this32$achGetCategor","badgetsGetItems","Badge","_this34$badgetsGetIte","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","_this36$tournamentsGe","tournaments","tournamentsGetInfo","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","_response$userPositio","_response$tournamentI","leaderboardGet","prevPeriod","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","_response$map$boardKe","_response$map$boardKe2","boardKey","_this40","DAILY","levelsGet","_this41","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","_this42","_this43","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","_this44","_this44$getCustomSect","values","customSections","_this45","starred_only","_this46","favoriteOnly","_this47","_this47$getInboxMessa","log","_this48","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","_this49","_this50","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","_this51","all_read","_this52","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","_this53","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","_this54","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","_quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","concat","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","QuizMarketPerSport","_QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n PING = 1,\n PONG = 2,\n\n\n INIT = 3,\n INIT_RESPONSE = 4,\n IDENTIFY = 5,\n IDENTIFY_RESPONSE = 6,\n LOGIN = 7,\n LOGOUT = 8,\n EVENT = 9,\n EVENT_RESPONSE = 10,\n\n LOGIN_RESPONSE = 11,\n LOGOUT_RESPONSE = 12,\n\n GET_TRANSLATIONS_REQUEST = 13,\n GET_TRANSLATIONS_RESPONSE = 14,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n CLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n CLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n CLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n CLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n CLIENT_EXECUTE_JS_EVENT = 107,\n CLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n CLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n CLIENT_TRACK_ACTIVITY_REQUEST = 155,\n CLIENT_SET_AVATAR_REQUEST = 157,\n CLIENT_SET_AVATAR_RESPONSE = 158,\n\n CLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n CLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n CHECK_SEGMENT_MATCH_REQUEST = 161,\n CHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n // 500-1000 - Achievements\n GET_LEVEL_MAP_REQUEST = 500,\n GET_LEVEL_MAP_RESPONSE = 501,\n GET_ACHIEVEMENT_MAP_REQUEST = 502,\n GET_ACHIEVEMENT_MAP_RESPONSE = 503,\n RELOAD_ACHIEVEMENTS_EVENT = 504,\n GET_LEADERS_BOARD_REQUEST = 505,\n GET_LEADERS_BOARD_RESPONSE = 506,\n GET_SHOP_ITEMS_REQUEST = 509,\n GET_SHOP_ITEMS_RESPONSE = 510,\n BUY_SHOP_ITEM_REQUEST = 511,\n BUY_SHOP_ITEM_RESPONSE = 512,\n GET_INBOX_MESSAGES_REQUEST = 513,\n GET_INBOX_MESSAGES_RESPONSE = 514,\n GET_SHOP_CATEGORIES_REQUEST = 515,\n GET_SHOP_CATEGORIES_RESPONSE = 516,\n GET_TOURNAMENT_LOBBY_REQUEST = 517,\n GET_TOURNAMENT_LOBBY_RESPONSE = 518,\n GET_TOURNAMENT_INFO_REQUEST = 519,\n GET_TOURNAMENT_INFO_RESPONSE = 520,\n TOURNAMENT_REGISTER_REQUEST = 521,\n TOURNAMENT_REGISTER_RESPONSE = 522,\n GET_CUSTOM_SECTIONS_REQUEST = 523,\n GET_CUSTOM_SECTIONS_RESPONSE = 524,\n MISSION_OPTIN_REQUEST = 525,\n MISSION_OPTIN_RESPONSE = 526,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_ACHIEVEMENT_USER_REQUEST = 527,\n GET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n MARK_INBOX_READ_REQUEST = 529,\n MARK_INBOX_READ_RESPONSE = 530,\n MARK_INBOX_STARRED_REQUEST = 531,\n MARK_INBOX_STARRED_RESPONSE = 532,\n MARK_INBOX_DELETED_REQUEST = 535,\n MARK_INBOX_DELETED_RESPONSE = 536,\n\n GET_ACH_CATEGORIES_REQUEST = 537,\n GET_ACH_CATEGORIES_RESPONSE = 538,\n\n ACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n ACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n ACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n ACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n GET_BONUSES_REQUEST = 600,\n GET_BONUSES_RESPONSE = 601,\n CLAIM_BONUS_REQUEST = 602,\n CLAIM_BONUS_RESPONSE = 603,\n\n SAW_GET_SPINS_REQUEST = 700,\n SAW_GET_SPINS_RESPONSE = 701,\n SAW_DO_SPIN_REQUEST = 702,\n SAW_DO_SPIN_RESPONSE = 703,\n SAW_AKNOWLEDGE_REQUEST = 704,\n SAW_AKNOWLEDGE_RESPONSE = 705,\n SAW_SPINS_COUNT_PUSH = 706,\n SAW_SHOW_SPIN_PUSH = 707,\n SAW_PRIZE_DROP_WIN_PUSH = 708,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n SAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n\n JP_GET_JACKPOTS_REQUEST = 800,\n JP_GET_JACKPOTS_RESPONSE = 801,\n\n JP_GET_LATEST_POTS_REQUEST = 802,\n JP_GET_LATEST_POTS_RESPONSE = 803,\n\n JP_OPTIN_REQUEST = 804,\n JP_OPTIN_RESPONSE = 805,\n\n JP_OPTOUT_REQUEST = 806,\n JP_OPTOUT_RESPONSE = 807,\n\n JP_WIN_PUSH = 808,\n\n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n REGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n CLIENT_DEBUG_REQUEST = 77777,\n\n \n /*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */ \n\n UNSUPPORTED_COMMAND = 99999,\n}","\n\n\nclass IntUtils {\n\n public static uuid(): string {\n let a: any;\n let b: any;\n for (b = a = \"\"; a++ < 36; b += a * 51 & 52 ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16) : \"-\") {}\n return b;\n } \n\n public static isNotNull(val: any): boolean {\n return typeof val !== \"undefined\" && val !== null;\n } \n\n public static isNotEmpty(val: string): boolean {\n return typeof val !== \"undefined\" && val !== null && val.length > 0;\n } \n\n public static replaceAll(value: string, regex: string, replacement: string | number): string {\n if (IntUtils.isNotNull(value)) {\n return value.replace(new RegExp(IntUtils.escapeRegExp(regex), \"g\"), replacement?.toString());\n }\n return value;\n } \n\n public static escapeRegExp(v: string): string {\n if (IntUtils.isNotEmpty(v)) {\n return v.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n return v;\n }\n\n public static JsonOrText = (str: string): any => {\n if (str && str.includes && (str.includes('{') || str.includes('['))) {\n try {\n return JSON.parse(str)\n } catch (e) {\n return str;\n }\n }\n return str;\n }\n \n // public static wsTimeToEpoch = (time: string): number => {\n // if (time) {\n // return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n // } else {\n // return null\n // }\n // }\n\n public static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n const now = new Date();\n const completedDate = new Date(timestamp);\n\n switch(period) {\n case 'today':\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth() &&\n now.getDate() === completedDate.getDate()\n );\n case \"thisWeek\":\n const startOfWeek = new Date(now);\n startOfWeek.setDate(now.getDate() - now.getDay());\n startOfWeek.setHours(0, 0, 0, 0);\n\n const endOfWeek = new Date(startOfWeek);\n endOfWeek.setDate(startOfWeek.getDate() + 6);\n endOfWeek.setHours(23, 59, 59, 999);\n\n return completedDate >= startOfWeek && completedDate <= endOfWeek;\n case \"thisMonth\":\n return (\n now.getFullYear() === completedDate.getFullYear() &&\n now.getMonth() === completedDate.getMonth()\n );\n default:\n return false;\n }\n }\n}\n\n\n\nexport { IntUtils }","/** @hidden */\nexport enum SAWBuyInType {\n Free = 1,\n Points = 2,\n Spins = 3\n}\n\nexport enum SAWBuyInTypeName {\n Free = 'free',\n Points = 'points',\n Spins = 'spins',\n Unknown = 'unknown'\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n return {\n [SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n [SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n [SAWBuyInType.Spins]: SAWBuyInTypeName.Spins\n }[type] || SAWBuyInTypeName.Unknown;\n}","import { SAWBuyInType } from \"./SAWBuyInType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\n\n\nclass SAWUtils {\n\n public static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n if (t === null || t === undefined) {\n return false;\n }\n \n switch (t.saw_buyin_type_id) {\n case SAWBuyInType.Free: {\n return true;\n }\n case SAWBuyInType.Spins: {\n return t.spin_count !== null && t.spin_count > 0\n }\n case SAWBuyInType.Points: {\n return t.buyin_cost_points <= pointsBalance;\n }\n default: {\n console.error(\"MiniGamesUtils.canPlay: Unknwon SAW buyin type \" + t.saw_buyin_type_id);\n return false;\n }\n }\n }\n \n}\n\nexport { SAWUtils }","export enum SAWAcknowledgeType {\n\n Silent = 1,\n QuickMessage = 2,\n FullMessage = 3\n}\n","\nexport enum SAWAskForUsername {\n NOASK = \"no-ask\",\n ONSUMBIT = \"on-submit\"\n}","/** @hidden */\n\nexport enum SAWGameType {\n SpinAWheel = 1,\n ScratchCard = 2,\n MatchX = 3,\n GiftBox = 4,\n PrizeDrop = 5,\n Quiz = 6\n}\n\nexport enum SAWGameTypeName {\n SpinAWheel = \"wheel\",\n ScratchCard = \"scratch\",\n MatchX = \"matchx\",\n GiftBox = \"giftbox\",\n PrizeDrop = \"prizedrop\",\n Quiz = 'quiz',\n Unknown = \"unknown\"\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n return {\n [SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n [SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n [SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n [SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n [SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n [SAWGameType.Quiz]: SAWGameTypeName.Quiz\n }[type] || SAWGameTypeName.Unknown;\n}\n","/** @hidden */\nexport enum SAWPrizeType {\n\n NO_PRIZE = 1,\n POINTS = 2,\n BONUS = 3,\n MANUAL = 4,\n SPIN = 5,\n JACKPOT = 6\n}\n\nexport enum MiniGamePrizeTypeName {\n NO_PRIZE = 'no-prize',\n POINTS = 'points',\n BONUS = 'bonus',\n MANUAL = 'manual',\n SPIN = 'spin',\n JACKPOT = 'jackpot',\n UNKNOWN = \"unknown\"\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n return {\n [SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n [SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n [SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n [SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n [SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n [SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT, \n }[type] || MiniGamePrizeTypeName.UNKNOWN;\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { TMiniGamePrize, TMiniGameTemplate } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"./../Base/ProtocolResponse\";\nimport { SAWBuyInTypeNamed } from \"./SAWBuyInType\";\nimport { SAWGameTypeNamed } from \"./SAWGameType\";\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from \"./SAWPrizeType\";\nimport { SAWTemplate } from \"./SAWTemplate\";\nimport { SAWUtils } from \"./SAWUtils\";\n\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\n templates: SAWTemplate[];\n}\n\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => { \n \n \n return items.map( r => {\n\n const x: TMiniGameTemplate = {\n \n id: r.saw_template_id,\n name: r.saw_template_ui_definition.name,\n description: r.saw_template_ui_definition.description,\n thumbnail: \n r.saw_skin_ui_definition?.skin_folder\n ? r.saw_skin_ui_definition?.skin_folder + '/ico.png'\n : `https://libs.smartico.ai/gf/images/saw/${r.saw_skin_key}/ico.png`\n ,\n over_limit_message: r.saw_template_ui_definition.over_limit_message,\n no_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n jackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n saw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n saw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n buyin_cost_points: r.buyin_cost_points,\n jackpot_add_on_attempt: r.jackpot_add_on_attempt,\n jackpot_current: r.jackpot_current,\n spin_count: r.spin_count,\n promo_image: r.saw_template_ui_definition.promo_image,\n promo_text: r.saw_template_ui_definition.promo_text,\n custom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n expose_game_stat_on_api: r.expose_game_stat_on_api,\n\n next_available_spin_ts: r.next_available_spin_ts,\n\n prizes: r.prizes.map( p => {\n const y: TMiniGamePrize = {\n id: p.saw_prize_id,\n name: p.saw_prize_ui_definition.name,\n prize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n prize_value: p.prize_value,\n font_size: p.saw_prize_ui_definition.font_size,\n font_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n icon: p.saw_prize_ui_definition.icon,\n position: p.saw_prize_ui_definition.position,\n aknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n acknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n acknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n pool: p.pool,\n wins_count: p.wins_count,\n }\n return y;\n })\n };\n return x;\n });\n}\n\n","\n/*\n* Possible error codes for the mini-games attempts\n*/\nexport enum SAWSpinErrorCode {\n /** No error */\n SAW_OK = 0,\n /** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n SAW_NO_SPINS = 40001,\n /** The are no prizes left to play the game */\n SAW_PRIZE_POOL_EMPTY = 40002,\n /** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n SAW_NOT_ENOUGH_POINTS = 40003,\n /** User reached max number of game attempts defined in the BackOffice */\n SAW_FAILED_MAX_SPINS_REACHED = 40004,\n /** Special code for the 'visitor' mode */\n SAW_VISITOR_STOP_SPIN_REQUEST = -40001 \n}","export enum SAWWinSoundType {\n\n Disappointing = 1,\n Positive = 2,\n HighlyPositive = 3,\n NoSound = 4,\n Custom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n [SAWWinSoundType.NoSound]: null,\n [SAWWinSoundType.Disappointing]: \"saw-disappointed.m4a\",\n [SAWWinSoundType.Positive]: \"saw-positive.m4a\",\n [SAWWinSoundType.HighlyPositive]: \"saw-highly-positive.m4a\",\n}","\nclass NodeCache {\n\n private static ttlChecker: NodeJS.Timeout;\n\n private static cache: { [key: string] : any } = {};\n\n constructor() {\n if (NodeCache.ttlChecker === undefined) {\n NodeCache.ttlChecker = setInterval(() => {\n const now = new Date().getTime();\n for (const key in NodeCache.cache) {\n if (NodeCache.cache.hasOwnProperty(key)) {\n const o = NodeCache.cache[key];\n if (o.ttl < now) {\n delete NodeCache.cache[key];\n }\n }\n }\n }, 1000);\n }\n }\n\n public get(key: string): any {\n const o = NodeCache.cache[key];\n if (o !== undefined && o.ttl > new Date().getTime()) {\n return o.value;\n }\n }\n\n public set(key: string, value: any, ttlSeconds: number = 60) {\n NodeCache.cache[key] = {\n value,\n ttl: new Date().getTime() + ttlSeconds * 1000\n }\n }\n\n public remove(key: string) {\n if (NodeCache.cache.hasOwnProperty(key)) { \n delete NodeCache.cache[key];\n\n }\n } \n\n public flushAll() {\n NodeCache.cache = {};\n }\n\n}\n\n\nexport { NodeCache }","import { NodeCache } from \"./NodeCache\";\n\nexport enum ECacheContext {\n Translations,\n LabelInfo,\n WSAPI,\n}\n\nconst WITH_REF_CACHE = [\n ECacheContext.Translations\n];\n\nexport class OCache {\n\n private static cache: { [key: string]: NodeCache } = {};\n\n private static init(cacheContext: ECacheContext) {\n if (this.cache[cacheContext] === undefined) {\n this.cache[cacheContext] = new NodeCache();\n }\n }\n\n public static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n return deepClone(this.cache[cacheContext].get(key));\n }\n\n public static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n this.init(cacheContext);\n\n this.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n }\n\n public static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n if (ttlSeconds <= 0) {\n return await f();\n } else {\n let o: T = OCache.get(oKey, cacheContext);\n\n if (o === undefined) {\n o = await f();\n OCache.set(oKey, o, cacheContext, ttlSeconds);\n }\n \n return o;\n }\n }\n\n public static async clear(cacheContext: ECacheContext, oKey: any) {\n const key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].remove(key);\n }\n }\n\n public static async clearContext(cacheContext: ECacheContext) {\n if (this.cache[cacheContext]) {\n this.cache[cacheContext].flushAll();\n }\n }\n\n public static async clearAll() {\n this.cache = {};\n } \n\n}\n\nconst deepClone = (o: any) => {\n if (o) {\n return JSON.parse(JSON.stringify(o));\n }\n\n return o;\n}\n","export enum ActivityTypeLimited {\n\n DoNothing = 8,\n Points = 12,\n GiveMission = 14,\n StartAnotherCampaign = 15,\n MiniGameAttempt = 16,\n DeductPoints = 21,\n ResetPoints = 22,\n Popup = 30,\n Inbox = 31,\n Slack = 70,\n Email_To_Customer_Support = 80,\n Email_To_Risk_Operator = 90,\n Bonus = 100,\n WebHook = 200,\n TagCustomer = 504,\n UnTagCustomer = 505,\n}","\nclass CoreUtils {\n\n public static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n if (avatarDomain && avatar_id !== null && avatar_id !== undefined && !(avatar_id.startsWith && avatar_id.startsWith('http'))) {\n if (avatarDomain.endsWith('/')) {\n return avatarDomain.slice(0, -1) + '/avatar/' + avatar_id\n } else {\n return avatarDomain + '/avatar/' + avatar_id\n }\n } else {\n return avatar_id\n }\n }\n\n public static currencySymbol(currency: string) {\n return {\n [currency?.toUpperCase()]: currency?.toUpperCase(),\n USD: \"$\", // United States Dollar\n EUR: \"\\u20AC\", // Euro\n JPY: \"\\u00A5\", // Japanese Yen\n GBP: \"\\u00A3\", // British Pound Sterling\n AUD: \"A$\", // Australian Dollar\n CAD: \"C$\", // Canadian Dollar\n CHF: \"CHF\", // Swiss Franc\n CNY: \"\\u00A5\", // Chinese Yuan\n SEK: \"kr\", // Swedish Krona\n NZD: \"NZ$\", // New Zealand Dollar\n MXN: \"MX$\", // Mexican Peso\n SGD: \"S$\", // Singapore Dollar\n HKD: \"HK$\", // Hong Kong Dollar\n NOK: \"kr\", // Norwegian Krone\n KRW: \"\\u20A9\", // South Korean Won\n TRY: \"\\u20BA\", // Turkish Lira\n INR: \"\\u20B9\", // Indian Rupee\n RUB: \"\\u20BD\", // Russian Ruble\n BRL: \"R$\", // Brazilian Real\n ZAR: \"R\", // South African Rand\n }[currency?.toUpperCase()];\n }\n}\n\nexport { CoreUtils }","\nexport enum PublicLabelSettings {\n PUBLIC_API_URL = \"PUBLIC_API_URL\",\n RECORDING_ENABLED_FOR_ALL_USERS = \"RECORDING_ENABLED_FOR_ALL_USERS\",\n JS_INJECTION = \"JS_INJECTION\",\n GAMIFICATION_UI_MAIN = \"GAMIFICATION_UI_MAIN\",\n GAMIFICATION_UI_WIDGET = \"GAMIFICATION_UI_WIDGET\",\n GAMIFICATION_UI_MINI_GAME = \"GAMIFICATION_UI_MINI_GAME\",\n GAMIFICATION_UI_SETTINGS = \"GAMIFICATION_UI_SETTINGS\",\n GAMIFICATION_UI_MAIN_TEST = \"GAMIFICATION_UI_MAIN_TEST\",\n GAMIFICATION_UI_WIDGET_TEST = \"GAMIFICATION_UI_WIDGET_TEST\",\n GAMIFICATION_UI_SETTINGS_TEST = \"GAMIFICATION_UI_SETTINGS_TEST\",\n FRONT_END_ALLOWED_LANGUAGES = \"FRONT_END_ALLOWED_LANGUAGES\",\n FRONT_END_ALLOW_DOMAINS = \"FRONT_END_ALLOW_DOMAINS\",\n DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = \"DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS\",\n SHADOW_LABEL_PUBLIC_KEY = \"SHADOW_LABEL_PUBLIC_KEY\",\n DYNAMIC_IMAGE_DOMAIN = \"DYNAMIC_IMAGE_DOMAIN\",\n \n GAMIFICATION_UI_LEVEL_ENABLED = \"GAMIFICATION_UI_LEVEL_ENABLED\",\n GAMIFICATION_UI_LEVEL_IMAGE_MOB = \"GAMIFICATION_UI_LEVEL_IMAGE_MOB\",\n GAMIFICATION_UI_LEVEL_IMAGE_DESK = \"GAMIFICATION_UI_LEVEL_IMAGE_DESK\",\n \n GAMIFICATION_LEVELS_LOGIC2 = \"GAMIFICATION_LEVELS_LOGIC2\",\n GAMIFICATION_LEVELS_LOGIC3 = \"GAMIFICATION_LEVELS_LOGIC2\",\n \n AVATAR_CUSTOM_IMAGE_MAX_ID = \"AVATAR_CUSTOM_IMAGE_MAX_ID\",\n AVATAR_CUSTOM_IMAGE_FOLDER = \"AVATAR_CUSTOM_IMAGE_FOLDER\",\n \n GAMIFICATION_SHOW_POWERED_BY = \"GAMIFICATION_SHOW_POWERED_BY\",\n _system_leader_board_mask_username = \"_system_leader_board_mask_username\",\n\n INBOX_PUBLIC_CDN = \"INBOX_PUBLIC_CDN\",\n}\n","enum TranslationArea {\n\n Casino = 1,\n Gamification = 2,\n Trading = 3,\n Archived = 4,\n Affiliation = 5,\n RetentionGames = 6,\n AffIliateAdminNew = 7\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from \"../WSAPI/WSAPITypes\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { InboxMessage } from \"./InboxMessage\";\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\n log: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = ((items: InboxMessage[]): TInboxMessage[] => {\n\n return items.map(item => {\n const x: TInboxMessage = {\n sent_date: item.createDate,\n message_guid: item.engagement_uid,\n read: item.is_read,\n favorite: item.is_starred,\n }\n return x;\n });\n})\n","import { TInboxMessageBody } from \"../WSAPI/WSAPITypes\";\nimport { InboxMessageType } from \"./InboxMessageType\";\n\nexport interface InboxMessageBody {\n action: string;\n body: string;\n type: InboxMessageType;\n image: string;\n title: string;\n html_body: string; \n additional_buttons?: { inbox_cta_text: string, action: string }[];\n}\n\nexport interface InboxMessage {\n\n createDate: string;\n body: InboxMessageBody;\n engagement_uid: string;\n is_read: boolean;\n is_starred: boolean;\n is_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n \n const x: TInboxMessageBody = {\n action: item.action,\n icon: item.image,\n title: item.title,\n preview_body: item.body,\n }\n\n if (item.action === 'dp:inbox') {\n if (item.additional_buttons && item.additional_buttons.length) {\n x.buttons = item.additional_buttons.map(b => ({\n action: b.action,\n text: b.inbox_cta_text\n }))\n }\n\n x.html_body = item?.html_body || null;\n }\n\n return x;\n}\n","export enum InboxMessageType {\n Custom = 0,\n MissionCompleted = 1,\n MissionUnlocked = 2,\n LeaderboardWon = 3,\n LevelChanged = 4,\n BonusGiven = 5,\n PointsAdded = 6,\n PointsUsed = 7,\n PersonalMessage = 8\n}\n\n// keep in sync with BO enum\n","export enum BuyStoreItemErrorCode {\n FAILED_TO_BUY_SHOP_ITEM = 121,\n SHOP_NO_BALANCE = 11000,\n SHOP_WRONG_LABEL = 11001,\n SHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n SHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n SHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n SHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n SHOP_FAILED_POOL_EMPTY = 11009,\n}","import { TStoreCategory } from \"../WSAPI/WSAPITypes\";\nimport { StoreCategoryPublicMeta } from \"./StoreCategoryPublicMeta\";\n\nexport interface StoreCategory {\n\n id?: number;\n publicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => { \n return items.map( r => {\n const x: TStoreCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","export enum StoreItemType {\n Bonus = 1,\n Tangible = 2,\n MiniGameSpin = 3,\n ChangeLevel = 4,\n PrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n Bonus = \"bonus\",\n Tangible = \"tangible\",\n MiniGameSpin = \"minigamespin\",\n ChangeLevel = \"changelevel\",\n PrizeDrop = \"prizedrop\",\n Unknown = \"unknown\"\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n return {\n [StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n [StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n [StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n [StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n [StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n }[type] || StoreItemTypeName.Unknown;\n}\n\n","import { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItemPublicMeta } from \"./StoreItemPublicMeta\";\nimport { StoreItemType, StoreItemTypeNamed } from \"./StoreItemType\";\n\nexport interface StoreItem {\n id: number;\n itemTypeId: StoreItemType;\n itemPublicMeta: StoreItemPublicMeta;\n categoryIds?: number[];\n canBuy?: boolean;\n shopPool: number;\n}\n\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n }\n return x;\n });\n\n}","import { IntUtils } from \"../IntUtils\";\nimport { TStoreItem } from \"../WSAPI/WSAPITypes\";\nimport { StoreItem } from \"./StoreItem\";\nimport { StoreItemTypeNamed } from \"./StoreItemType\";\n\ninterface StoreItemPurchased extends StoreItem {\n purchase_ts: number;\n purchase_points_amount: number;\n purchased_today?: boolean;\n purchased_this_week?: boolean;\n purchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => { \n return items.filter( r => r.id >= 1).map( r => {\n const purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n const purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n const purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n const x: TStoreItem = \n {\n id: r.id,\n name: r.itemPublicMeta.name,\n price: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n image: r.itemPublicMeta.image_url,\n description: r.itemPublicMeta.description,\n ribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n limit_message: r.itemPublicMeta.limit_message,\n priority: r.itemPublicMeta.priority ?? 0,\n related_item_ids: r.itemPublicMeta.related_items,\n hint_text: r.itemPublicMeta.hint_text,\n type: StoreItemTypeNamed(r.itemTypeId),\n can_buy: r.canBuy,\n category_ids: r.categoryIds ?? [],\n pool: r.shopPool,\n purchase_ts: r.purchase_ts,\n purchase_points_amount: r.purchase_points_amount,\n purchased_today: purchasedToday,\n purchased_this_week: purchasedThisWeek,\n purchased_this_month: purchasedThisMonth,\n }\n\n return x;\n });\n\n}\n\nexport { StoreItemPurchased }","export enum AchievementStatus {\n\n Draft = 1,\n AvailableUnlocked = 2,\n AvailableLocked = 3,\n Archived = 4,\n FeaturedManually = 5,\n FeaturedAI = 6,\n Recurring = 7\n}\n","export enum AchievementTaskType {\n CompleteAchievement = 1,\n UnlockAchievement = 2\n}\n","export enum AchievementType {\n\n Mission = 1,\n Badge = 2\n}\n","\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\nimport { IntUtils } from \"../IntUtils\";\nimport { TMissionOrBadge } from \"../WSAPI/WSAPITypes\";\nimport { AchievementPublicMeta } from \"./AchievementPublicMeta\";\nimport { AchievementStatus } from \"./AchievementStatus\";\nimport { AchievementTaskType } from \"./AchievementTaskType\";\nimport { AchievementType } from \"./AchievementType\";\nimport { ScheduledMissionType } from \"./ScheduledMissionType\";\nimport { UserAchievementTask } from \"./UserAchievementTask\";\n\nexport interface UserAchievement {\n\n ach_id?: number;\n ach_type_id?: AchievementType;\n ach_public_meta?: AchievementPublicMeta;\n isCompleted?: boolean;\n isLocked?: boolean;\n requiresOptin?: boolean;\n isOptedIn?: boolean;\n start_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n start_date_ts?: number; \n time_limit_ms?: number;\n progress?: number;\n complete_date?: string;\n complete_date_ts?: number;\n unlock_date?: string;\n milliseconds_till_available?: number;\n completed_tasks?: number;\n achievementTasks?: UserAchievementTask[];\n ach_status_id?: AchievementStatus;\n scheduledMissionType?: ScheduledMissionType;\n related_games?: AchRelatedGame[];\n active_from_ts?: number; // indicates when 'scheduled' mission is active from,\n ach_categories?: number[];\n\n ach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n requires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n prize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n completed_today?: boolean;\n completed_this_week?: boolean;\n completed_this_month?: boolean;\n custom_section_type_id?: number;\n}\n\n\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n \n return items.filter( r => r.ach_id >= 1).map( r => {\n const completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n const completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n const completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n const x: TMissionOrBadge = {\n id: r.ach_id,\n name: r.ach_public_meta.name,\n description: r.ach_public_meta.description,\n hint_text: r.ach_public_meta.hint_text,\n unlock_mission_description: r.ach_public_meta.unlock_mission_description,\n image: r.ach_public_meta.image_url,\n is_completed: r.isCompleted,\n is_locked: r.isLocked,\n is_requires_optin: r.requiresOptin,\n is_opted_in: r.isOptedIn,\n time_limit_ms: r.time_limit_ms,\n dt_start: r.start_date_ts,\n reward: r.ach_public_meta.reward,\n progress: r.progress,\n type: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n cta_action: r.ach_public_meta.cta_action,\n cta_text: r.ach_public_meta.cta_text,\n custom_section_id: r.ach_public_meta.custom_section_id,\n only_in_custom_section: r.ach_public_meta.only_in_custom_section,\n custom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n position: r.ach_public_meta.position,\n ribbon: r.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n tasks: (r.achievementTasks || [])\n .filter( t => t.task_type_id === AchievementTaskType.CompleteAchievement)\n .map( t => ({\n id: t.task_id,\n name: t.task_public_meta?.name,\n points_reward: t.points_reward,\n is_completed: t.isCompleted,\n progress: t.userProgress,\n execution_count_expected: t.executionCount,\n execution_count_actual: t.userExecutedCount,\n display_progress_as_count: t.task_public_meta.display_progress_as_count,\n })),\n related_games: (r.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n category_ids: r.ach_categories ?? [],\n ach_completed_id: r.ach_completed_id,\n requires_prize_claim: r.requires_prize_claim,\n prize_claimed_date_ts: r.prize_claimed_date_ts,\n complete_date: r.complete_date,\n complete_date_ts: r.complete_date_ts,\n completed_today: completedToday,\n completed_this_week: completedThisWeek,\n completed_this_month: completedThisMonth,\n custom_section_type_id: r.ach_public_meta.custom_section_type_id,\n }\n return x;\n});\n} \n\n","export enum ScheduledMissionType {\n\n Future = 1,\n Past = 2,\n Present = 3,\n}","import { TAchCategory } from \"../WSAPI/WSAPITypes\";\nimport { AchCategoryPublicMeta } from \"./AchCategoryPublicMeta\";\n\nexport interface AchCategory {\n\n id?: number;\n publicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => { \n return items.map( r => {\n const x: TAchCategory = {\n id: r.id,\n name: r.publicMeta?.name,\n order: r.publicMeta?.order\n }\n return x;\n })\n}","/** @hidden */\nexport enum TournamentRegistrationType {\n\n AUTO = 1,\n OPT_IN = 2,\n BUY_IN_POINTS = 3,\n MANUAL_APPROVAL = 4,\n REQUIRES_QUALIFICATION = 5\n // BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName = 'AUTO' | 'OPT_IN' | 'BUY_IN_POINTS' | 'MANUAL_APPROVAL' | 'REQUIRES_QUALIFICATION' | 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n return ({\n [TournamentRegistrationType.AUTO]: 'AUTO',\n [TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n [TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n [TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n [TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n }[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n}","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\n NOT_REGISTERED = 0,\n REGISTERED = 1,\n FINISHED = 2,\n PENDING = 3,\n CANCELLED = 4,\n REGISTERED_PENDING_QUALIFICATION = 5,\n QUALIFIED_PENDING_REGISTRATION = 6\n}\n\nexport enum TournamentRegistrationStatusName {\n NOT_REGISTERED = 'NOT_REGISTERED',\n REGISTERED = 'REGISTERED',\n FINISHED = 'FINISHED',\n PENDING = 'PENDING',\n CANCELLED = 'CANCELLED',\n REGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n QUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n UNKNOWN = \"UNKNOWN\"\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n return ({\n [TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n [TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n [TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n [TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n [TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]: TournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n [TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n [TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]: TournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION\n }[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n} \n\n","import {TournamentRegistrationType, TournamentRegistrationTypeGetName} from \"./TournamentRegistrationType\";\nimport {TournamentInstanceStatus} from \"./TournamentInstanceStatus\";\nimport { TournamentRegistrationStatus, TournamentRegistrationStatusName, TournamentRegistrationStatusNamed } from \"./TournamentRegistrationStatus\";\nimport { TournamentType } from \"./TournamentType\";\nimport { TournamentPublicMeta } from \"./TournamentPublicMeta\";\nimport { TTournament } from \"../WSAPI/WSAPITypes\";\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from \".\";\nimport { IntUtils } from \"../IntUtils\";\nimport { AchRelatedGame } from \"../Base/AchRelatedGame\";\n\nexport interface Tournament {\n\n /** ID of tournament template */\n tournamentId?: number;\n /** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n tournamentInstanceId?: number;\n /** Type of the tournament. For now only SCHEDULED is support */\n tournamentType?: TournamentType;\n /** Meta information about tournament that should be used to build UI */\n publicMeta?: TournamentPublicMeta;\n /** Cost of registration in the tournament in gamification points */\n buyInAmount?: number;\n /** Not in use */\n prizePool?: number;\n /** The time when tournament is going to start */\n startTime?: string;\n /** The time when tournament is going to finish */\n endTime?: string;\n /** The time when tournament is going to start, epoch */\n startTimeTs?: number;\n /** The time when tournament is going to finish, epoch */\n endTimeTs?: number; \n /** Number of users registered in the tournament */\n registrationCount?: number;\n /** Not in use */\n totalCount?: number;\n /** Type of registration in the tournament */\n registrationType?: TournamentRegistrationType;\n /** Status of registration in the tournament for current user */\n tournamentRegistrationStatus?: TournamentRegistrationStatus;\n /** Status of tournament instance */\n tournamentInstanceStatus?: TournamentInstanceStatus;\n /** flag indicating if current user is registered in the tournament */\n isUserRegistered?: boolean;\n /** Indicator if tournament allows later registration, when tournament is already started */\n allowLateRegistration?: boolean;\n /** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n playersMinCount?: number;\n /** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n playersMaxCount?: number;\n /** Tournament duration in millisecnnds */\n durationMs?: number;\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n /** Information about current user */\n tournamentPlayer?: TournamentPlayer\n\n /** List of casino games (or other types of entities) related to the tournament */\n related_games?: AchRelatedGame[];\n}\n\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => { \n\n return items.filter(r => r.tournamentId >= 1).map(r => {\n const x: TTournament = {\n instance_id: r.tournamentInstanceId,\n tournament_id: r.tournamentId,\n name: r.publicMeta.name,\n description: r.publicMeta.description,\n segment_dont_match_message: r.publicMeta.segment_dont_match_message,\n image1: r.publicMeta.image_url,\n image2: r.publicMeta.image_url2,\n image2_mobile: r.publicMeta.image_url2_mobile,\n prize_pool_short: r.publicMeta.prize_pool_short,\n custom_price_text: r.publicMeta.custom_price_text,\n custom_section_id: r.publicMeta.custom_section_id,\n custom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n is_featured: r.publicMeta.featured,\n ribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n priority: r.publicMeta.position,\n \n\n start_time: r.startTimeTs,\n end_time: r.endTimeTs,\n registration_count: r.registrationCount,\n is_user_registered: r.isUserRegistered,\n players_min_count: r.playersMinCount,\n players_max_count: r.playersMaxCount,\n registration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n registration_type: TournamentRegistrationTypeGetName(r.registrationType),\n registration_cost_points: r.buyInAmount,\n duration_ms: r.durationMs,\n\n is_active: TournamentUtils.isActive(r),\n is_can_register: TournamentUtils.isCanRegister(r),\n is_cancelled: TournamentUtils.isCancelled(r),\n is_finished: TournamentUtils.isFinished(r),\n is_in_progress: TournamentUtils.isInProgress(r),\n is_upcoming: TournamentUtils.isUpcoming(r),\n\n }\n\n if (r.prizeStructure) {\n x.prizes = r.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (r.tournamentPlayer) {\n x.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true)\n }\n\n return x;\n });\n\n\n}\n\n","export enum TournamentInstanceStatus {\n\n PUBLISHED = 1,\n REGISTER = 2,\n STARTED = 3,\n FINISHED = 4,\n CANCELLED = 5,\n FAILED = 6,\n FINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n return {\n [TournamentInstanceStatus.PUBLISHED]: \"PUBLISHED\",\n [TournamentInstanceStatus.REGISTER]: \"REGISTER\",\n [TournamentInstanceStatus.STARTED]: \"STARTED\",\n [TournamentInstanceStatus.FINISHED]: \"FINISHED\",\n [TournamentInstanceStatus.CANCELLED]: \"CANCELLED\",\n [TournamentInstanceStatus.FAILED]: \"FAILED\",\n [TournamentInstanceStatus.FINALIZING]: \"FINALIZING\",\n }[s];\n};","import { ActivityTypeLimited } from \"../Core\";\nimport { Tournament } from \"./Tournament\";\nimport { TournamentInstanceStatus } from \"./TournamentInstanceStatus\";\nimport { TournamentPlayer } from \"./TournamentPlayer\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TournamentRegistrationStatus } from \"./TournamentRegistrationStatus\";\nimport { TournamentRegistrationType } from \"./TournamentRegistrationType\";\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n return {\n [ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n [ActivityTypeLimited.Points]: 'POINTS_ADD',\n [ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n [ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n [ActivityTypeLimited.MiniGameAttempt]: \"MINI_GAME_ATTEMPT\",\n [ActivityTypeLimited.Bonus]: 'BONUS',\n }[type]\n}\n\nexport class TournamentUtils {\n\n public static isCanRegister = (tournament: Tournament): boolean => {\n if (tournament) {\n if (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n return true;\n }\n return !tournament.isUserRegistered &&\n (tournament.playersMaxCount !== tournament.registrationCount || tournament.playersMaxCount === null || tournament.playersMaxCount === 0) &&\n tournament.registrationType !== TournamentRegistrationType.AUTO &&\n (\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n (tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED && tournament.allowLateRegistration)\n );\n }\n return false;\n }\n\n\n public static isInProgress = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n }\n return false;\n }\n\n public static isActive = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n }\n return false;\n }\n\n public static isFinished = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED\n || tournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING;\n }\n return false;\n }\n\n public static isCancelled = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n }\n return false;\n }\n\n public static isUpcoming = (tournament: Tournament): boolean => {\n if (tournament) {\n return tournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED || tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER;\n }\n return false;\n }\n\n public static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n if (player) {\n const playerTransformed = {\n public_username: player.userAltName,\n avatar_url: player.avatar_url,\n position: player.position,\n scores: player.scores,\n is_me: player.isMe,\n }\n \n if (isMe) {\n delete playerTransformed.is_me;\n }\n\n return playerTransformed;\n }\n\n return null;\n }\n\n public static getPrizeTransformed = (prize: TournamentPrize) => {\n if (prize) {\n return ({...prize, type: tournamentPrizeTypeToPrizeName(prize.type)})\n }\n\n return null;\n }\n\n}\n","import {Tournament, TournamentItemsTransform} from \"./Tournament\";\nimport {TournamentPlayer} from \"./TournamentPlayer\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TournamentPrize } from \"./TournamentPrize\";\nimport { TTournamentDetailed } from \"../WSAPI/WSAPITypes\";\nimport { TournamentUtils } from \"./TournamentUtils\";\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\n /** tournament info */\n tournamentInfo: {\n /** id of label, not in use */\n labelId: number;\n tournamentLobbyInfo: Tournament;\n /** list of registered users */\n players: TournamentPlayer[];\n },\n /** information about current user position */\n userPosition: TournamentPlayer,\n /** prizes structure */\n prizeStructure?: {\n prizes: TournamentPrize[],\n }\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n const response: TTournamentDetailed = {\n ...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n related_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map(g => ({\n ext_game_id: g.ext_game_id,\n game_public_meta: {\n name: g.game_public_meta.name,\n link: g.game_public_meta.link,\n image: g.game_public_meta.image,\n enabled: g.game_public_meta.enabled,\n game_categories: g.game_public_meta.game_categories,\n game_provider: g.game_public_meta.game_provider,\n },\n })),\n players: t.tournamentInfo.players.map( p => TournamentUtils.getPlayerTransformed(p)),\n };\n\n if (t.prizeStructure) {\n response.prizes = t.prizeStructure.prizes.map(p => TournamentUtils.getPrizeTransformed(p));\n }\n\n if (t.userPosition) {\n response.me = TournamentUtils.getPlayerTransformed(t.userPosition, true)\n }\n\n return response;\n}\n\n\n","export enum TournamentRegistrationError {\n NO_ERROR = 0,\n TOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n TOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n TOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n TOURNAMENT_ALREADY_REGISTERED = 30004,\n TOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n TOURNAMENT_USER_NOT_REGISTERED = 30006,\n TOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n TOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\n SCHEDULED = 1,\n SNG = 2,\n TEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n DAILY = 1,\n WEEKLY = 2,\n MONTHLY = 3\n}\n","import { IntUtils } from \"../IntUtils\";\nimport { ProtocolResponse } from \"../Base/ProtocolResponse\";\nimport { TLevel } from \"../WSAPI/WSAPITypes\";\nimport { Level } from \"./Level\";\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\n levels: Level[];\n}\n\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n \n return levels?.levels.map((l => ({\n id: l.level_id,\n name: l.level_public_meta.name,\n description: l.level_public_meta.description,\n image: l.level_public_meta.image_url,\n required_points: l.required_points,\n visibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n required_level_counter_1: l.required_level_counter_1,\n required_level_counter_2: l.required_level_counter_2,\n custom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n })));\n}","import { ClassId } from \"../Base/ClassId\";\nimport { CoreUtils } from \"../Core\";\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWSpinErrorCode, SAWSpinsCountPush } from \"../MiniGames\";\nimport { ECacheContext, OCache } from \"../OCache\";\nimport { SmarticoAPI } from \"../SmarticoAPI\";\nimport { InboxMarkMessageAction, LeaderBoardDetailsT, TAchCategory, TBuyStoreItemResult, TGetTranslations, TInboxMessage, TInboxMessageBody, TLevel, TMiniGamePlayResult, TMiniGameTemplate, TMissionClaimRewardResult, TMissionOptInResult, TMissionOrBadge, TSegmentCheckResult, TStoreCategory, TStoreItem, TTournament, TTournamentDetailed, TTournamentRegistrationResult, TUICustomSection, TUserProfile, UserLevelExtraCountersT } from \"./WSAPITypes\";\nimport { LeaderBoardPeriodType } from \"../Leaderboard\";\nimport { JackpotDetails, JackpotPot, JackpotWinPush, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"../Jackpots\";\n \n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n /** @hidden */\nenum onUpdateContextKey {\n Saw = 'saw',\n Missions = 'missions',\n TournamentList = 'tournamentList',\n InboxMessages = 'inboxMessages',\n Badges = 'badges',\n Levels = 'levels',\n StoreItems = 'storeItems',\n StoreCategories = 'storeCategories',\n AchCategories = 'achCategories',\n LeaderBoards = 'leaderBoards',\n LevelExtraCounters = 'levelExtraCounters',\n Segments = 'segments',\n StoreHistory = 'storeHistory',\n Jackpots = 'jackpots',\n Pots = 'Pots',\n CustomSections = 'customSections'\n}\n\n\n/** @group General API */\nexport class WSAPI {\n\n private onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n private jackpotGetSignature: string = '';\n\n /** @private */\n constructor(private api: SmarticoAPI) {\n\n OCache.clearAll();\n if (this.api.tracker) {\n const on = this.api.tracker.on;\n on(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n on(ClassId.SAW_SHOW_SPIN_PUSH, () => this.updateOnAddSpin());\n on(ClassId.SAW_DO_SPIN_RESPONSE, (data: SAWDoSpinResponse) => on(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => this.updateOnPrizeWin(data)));\n on(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissionsOnOptIn());\n on(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournamentsOnRegistration());\n on(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n on(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n on(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n on(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n on(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache());\n }\n }\n\n /** Returns information about current user\n * \n * **Example**:\n * ```\n * _smartico.api.getUserProfile().then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n * */\n public getUserProfile(): TUserProfile {\n if (this.api.tracker) {\n const o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n o.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n return o;\n } else {\n throw new Error('Tracker is not initialized, cannot getUserProfile');\n }\n }\n\n /** Check if user belongs to specific segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentMatch(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async checkSegmentMatch(segment_id: number): Promise<boolean> {\n const r = await this.api.coreCheckSegments(null, [segment_id]);\n if (r && r.find(s => s.segment_id === segment_id && s.is_matching)) {\n return true;\n } else {\n return false;\n }\n }\n\n /** Check if user belongs to specific list of segments\n * **Example**:\n * ```\n * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n * console.log(result);\n * });\n * ```\n * **Visitor mode: not supported**\n */\n public async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n return await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n } \n\n /** Returns all the levels available the current user\n * **Example**:\n * ```\n * _smartico.api.getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLevels().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLevels(): Promise<TLevel[]> {\n return OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n }\n\n /** Returns all the missions available the current user.\n * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n * \n * **Example**:\n * ```\n * _smartico.api.getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMissions().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns all the badges available the current user\n * \n * **Visitor mode: not supported**\n */\n public async getBadges(): Promise<TMissionOrBadge[]> {\n return OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the extra counters for the current user level.\n * These are counters that are configured for each Smartico client separatly by request.\n * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n * \n * **Example**:\n * ```\n * _smartico.api.getUserLevelExtraCounters().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n return OCache.use(onUpdateContextKey.LevelExtraCounters, ECacheContext.WSAPI, () => this.api.getUserGamificationInfoT(null), CACHE_DATA_SEC);\n }\n\n /** \n * \n * Returns all the store items available the current user\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreItems().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n\n public async getStoreItems(): Promise<TStoreItem[]> {\n return OCache.use(onUpdateContextKey.StoreItems, ECacheContext.WSAPI, () => this.api.storeGetItemsT(null), CACHE_DATA_SEC);\n }\n\n /** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n * **Example**:\n * ```\n * _smartico.api.buyStoreItem(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n public async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n const r = await this.api.buyStoreItem(null, item_id);\n\n const o: TBuyStoreItemResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * \n * Returns store categories\n * \n * **Example**:\n * ```\n * _smartico.api.getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getStoreCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getStoreCategories(): Promise<TStoreCategory[]> {\n return OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, () => this.api.storeGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched. \n * The maximum number of items per request is limited to 20. \n * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n * \n * **Example**:\n * ```\n * _smartico.api.getStorePurchasedItems().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Visitor mode: not supported**\n */\n\n public async getStorePurchasedItems({ limit, offset, onUpdate } : { limit?: number, offset?: number, onUpdate?: (data: TStoreItem[]) => void} = {}): Promise<TStoreItem[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n }\n return OCache.use(onUpdateContextKey.StoreHistory, ECacheContext.WSAPI, () => this.api.storeGetPurchasedItemsT(null, limit, offset), CACHE_DATA_SEC);\n }\n\n /**\n * Returns missions & badges categories\n * \n * **Example**:\n * ```\n * _smartico.api.getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getAchCategories().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getAchCategories(): Promise<TAchCategory[]> {\n return OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, () => this.api.achGetCategoriesT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns list of custom sections\n * \n * **Example**:\n * ```\n * _smartico.api.getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getCustomSections().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * */\n public async getCustomSections(): Promise<TUICustomSection[]> {\n return OCache.use(onUpdateContextKey.CustomSections, ECacheContext.WSAPI, () => this.api.getCustomSectionsT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Returns the list of mini-games available for user \n * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getMiniGames().then((result) => {\n * console.log(result);\n * });\n * ```\n *\n */\n public async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGameTemplate[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n }\n\n /** \n * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n * \n * **Visitor mode: not supported** \n */\n public async playMiniGame(template_id: number): Promise<TMiniGamePlayResult> {\n const r = await this.api.sawSpinRequest(null, template_id);\n this.api.doAcknowledgeRequest(null, r.request_id)\n\n const o: TMiniGamePlayResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n prize_id: r.saw_prize_id,\n }\n\n return o;\n }\n\n /** \n * Requests an opt-in for the specified mission_id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult>{\n const r = await this.api.missionOptIn(null, mission_id);\n\n const o: TMissionOptInResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * Request for claim reward for the specified mission id. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n const r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n const o: TMissionClaimRewardResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** Returns all the active instances of tournaments \n * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one. \n * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * console.log(result);\n * });\n * ```\n * */\n public async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n }\n\n return OCache.use(onUpdateContextKey.TournamentList, ECacheContext.WSAPI, () => this.api.tournamentsGetLobbyT(null), CACHE_DATA_SEC);\n }\n\n /**\n * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n * \n * **Example**:\n * ```\n * _smartico.api.getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getTournamentsList().then((result) => {\n * if (result.length > 0) {\n * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n * console.log(result);\n * });\n * }\n * });\n * ```\n */\n public async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n return this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n }\n\n /** \n * Requests registration for the specified tournament instance. Returns the err_code.\n * \n * **Visitor mode: not supported** \n */\n public async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult>{\n const r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n const o: TTournamentRegistrationResult = {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n\n return o;\n }\n\n /** \n * 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.\n * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n * \n * **Example**:\n * ```\n * _smartico.api.getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n return OCache.use(onUpdateContextKey.LeaderBoards, ECacheContext.WSAPI, () => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod), CACHE_DATA_SEC);\n }\n\n /** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched. \n * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites. \n * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n * This functions return list of messages without the body of the message. \n * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n *\n * **Visitor mode: not supported** \n * \n * @param params\n */\n public async getInboxMessages({ from, to, onlyFavorite, onUpdate }: { from?: number, to?: number, onlyFavorite?: boolean, onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<TInboxMessage[]> { \n if (onUpdate) {\n this.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n }\n\n return await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n }\n\n /** \n * Returns the message body of the specified message guid.\n *\n * **Visitor mode: not supported** \n */\n public async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n return await this.api.getInboxMessageBodyT(messageGuid);\n }\n\n /** \n * Requests to mark inbox message with specified guid as read\n *\n * **Visitor mode: not supported** \n */\n public async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.markInboxMessageRead(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark all inbox messages as rea\n *\n * **Visitor mode: not supported** \n */ \n public async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n const r = await this.api.markAllInboxMessageRead(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n *\n * **Visitor mode: not supported** \n */\n public async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n const r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete inbox message\n *\n * **Visitor mode: not supported** \n */\n \n public async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteInboxMessage(null, messageGuid);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests to delete all inbox messages\n *\n * **Visitor mode: not supported** \n */\n\n public async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n const r = await this.api.deleteAllInboxMessages(null);\n\n return {\n err_code: r.errCode,\n err_message: r.errMsg,\n }\n }\n\n /** \n * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n */\n public async getTranslations(lang_code: string): Promise<TGetTranslations> {\n const r = await this.api.getTranslationsT(null, lang_code, []);\n\n return {\n translations: r.translations\n }\n }\n\n private async updateOnSpin(data: SAWSpinsCountPush) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const index = templates.findIndex(t => t.id === data.saw_template_id);\n templates[index].spin_count = data.spin_count;\n this.updateEntity(onUpdateContextKey.Saw, templates)\n }\n\n private async updateOnAddSpin() {\n const payload = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, payload)\n }\n\n private async updateOnPrizeWin(data: SAWDoSpinResponse) {\n if (data.errCode === SAWSpinErrorCode.SAW_OK) {\n const templates: TMiniGameTemplate[] = await OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n const template: TMiniGameTemplate = templates.find(t => t.prizes.find(p => p.id === data.saw_prize_id));\n const prizeType = template.prizes.find(p => p.id === data.saw_prize_id)?.prize_type;\n\n if (\n template.jackpot_add_on_attempt ||\n template.spin_count === 1 ||\n prizeType === MiniGamePrizeTypeName.JACKPOT ||\n prizeType === MiniGamePrizeTypeName.SPIN\n ) {\n const updatedTemplates = await this.api.sawGetTemplatesT(null);\n this.updateEntity(onUpdateContextKey.Saw, updatedTemplates)\n }\n }\n }\n\n private async updateMissionsOnOptIn() {\n const payload = await this.api.missionsGetItemsT(null);\n this.updateEntity(onUpdateContextKey.Missions, payload)\n }\n\n private async updateTournamentsOnRegistration() {\n const payload = await this.api.tournamentsGetLobbyT(null);\n this.updateEntity(onUpdateContextKey.TournamentList, payload)\n }\n\n private async updateInboxMessages() {\n const payload = await this.api.getInboxMessagesT(null);\n this.updateEntity(onUpdateContextKey.InboxMessages, payload)\n }\n\n private async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n OCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n const onUpdate = this.onUpdateCallback.get(contextKey);\n if (onUpdate) {\n onUpdate(payload);\n }\n }\n\n private async jackpotClearCache() {\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n OCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots); \n }\n\n /** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n * If filter is not provided, all active jackpots will be returned.\n * Filter can be used to get jackpots related to specific game or specific jackpot template.\n * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n * \n * **Example in the Visitor mode**:\n * ```\n * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n * console.log(result);\n * });\n * ```\n */\n public async jackpotGet(filter?: { related_game_id?: string, jp_template_id?: number }): Promise<JackpotDetails[]> {\n\n const signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n if (signature !== this.jackpotGetSignature) {\n this.jackpotGetSignature = signature;\n this.jackpotClearCache();\n }\n\n let jackpots: JackpotDetails[] = [];\n let pots: JackpotPot[] = [];\n\n jackpots = await OCache.use<JackpotDetails[]>(onUpdateContextKey.Jackpots, ECacheContext.WSAPI, async () => {\n \n const _jackpots = await this.api.jackpotGet(null, filter);\n const _pots = _jackpots.items.map( jp => jp.pot);\n\n OCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n return _jackpots.items;\n\n }, JACKPOT_TEMPLATE_CACHE_SEC);\n\n\n if (jackpots.length > 0) {\n pots = await OCache.use<JackpotPot[]>(onUpdateContextKey.Pots, ECacheContext.WSAPI, async () => {\n \n const jp_template_ids = jackpots.map(jp => jp.jp_template_id);\n return (await this.api.potGet(null, { jp_template_ids })).items;\n\n }, JACKPOT_POT_CACHE_SEC);\n }\n\n return jackpots.map( jp => {\n let _jp: JackpotDetails = {\n ...jp,\n pot: pots.find( p => p.jp_template_id === jp.jp_template_id),\n };\n return _jp;\n });\n\n }\n\n /** \n * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted in to the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptIn');\n };\n\n const result = await this.api.jackpotOptIn(null, filter);\n\n return result;\n }\n\n /** \n * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n * \n * **Example**:\n * ```\n * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n * console.log('Opted out from the jackpot');\n * });\n * ```\n *\n * **Visitor mode: not supported** \n *\n */ \n public async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n \n if (!filter.jp_template_id) {\n throw new Error('jp_template_id is required in jackpotOptOut');\n };\n\n const result = await this.api.jackpotOptOut(null, filter);\n\n return result;\n }\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from \"../WSAPI/WSAPITypes\";\nimport { LeaderBoardDetails } from \"./LeaderBoardDetails\";\nimport { LeaderBoardPeriodType } from \"./LeaderBoardPeriodType\";\nimport { LeaderBoardPosition } from \"./LeaderBoardPosition\";\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n if (reward_points && reward_points.length) {\n return reward_points.map((r, i) => ({ place: i + 1, points: r }));\n }\n\n return null;\n}\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n if (user) {\n const x: LeaderBoardUserT= {\n public_username: user?.public_username || user.user_alt_name,\n avatar_url: user.avatar_url,\n position: user.position_in_board,\n points: user.points_accumulated,\n is_me: user.is_me,\n }\n \n if (isMe) {\n delete x.is_me;\n }\n\n return x;\n }\n\n return null;\n}\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n if (board) {\n const x: LeaderBoardDetailsT = {\n board_id: board.board_id,\n name: board.board_public_meta.name,\n description: board.board_public_meta.description,\n rules: board.board_public_meta.rules,\n period_type_id: board.period_type_id,\n rewards: pointsRewardTransform(board.reward_points),\n users: board.positions.map(p => getLeaderBoardPlayerTransformed(p)),\n me: getLeaderBoardPlayerTransformed(board.userPosition, true),\n }\n\n return x;\n }\n\n return null;\n}","export enum AchCustomSectionType {\n HTML_PAGE = 1,\n MISSIONS_CATEGORY = 2,\n TOURNAMENTS_CATEGORY = 3,\n LEVELS = 4,\n MINI_GAMES = 5,\n MISSION_CUSTOM_LAYOUT = 6,\n MATCH_X = 7,\n}\n\nexport enum AchCustomLayoutTheme {\n VALENTINES_LIGHT = 'valentines-light',\n VALENTINES_DARK = 'valentines-dark',\n EURO_2024 = 'euro-2024',\n GENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n ONLY_OVERVIEW = 1,\n NO_OVERVIEW = 2,\n ALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n ANY = 1,\n ALL_MISSIONS = 2,\n ALL_EXCEPT_COMPLETED = 3,\n ALL_EXCEPT_LOCKED = 4,\n ALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}","import { TUICustomSection } from \"../WSAPI/WSAPITypes\";\nimport { AchCustomLayoutTheme, AchCustomSectionType, AchMissionsTabsOptions, AchOverviewMissionsFilter } from \"./AchCustomSection\";\n\nexport interface UICustomSection {\n\n body?: string;\n menu_img?: string;\n menu_name?: string;\n custom_skin_images?: string;\n section_type_id?: AchCustomSectionType;\n theme?: AchCustomLayoutTheme;\n generic_custom_css?: string;\n mission_tabs_options?: AchMissionsTabsOptions;\n overview_missions_filter?: AchOverviewMissionsFilter;\n overview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n return items.filter(r => r.section_type_id !== undefined && r.section_type_id >= 1).map( r => {\n const x: TUICustomSection = {\n body: r.body,\n menu_img: r.menu_img,\n menu_name: r.menu_name,\n section_type_id: r.section_type_id,\n custom_skin_images: r.custom_skin_images,\n generic_custom_css: r.generic_custom_css,\n mission_tabs_options: r.mission_tabs_options,\n overview_missions_count: r.overview_missions_count,\n overview_missions_filter: r.overview_missions_filter,\n theme: r.theme\n }\n return x;\n })\n}","import { ClassId } from \"./Base/ClassId\";\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport { SAWDoAknowledgeRequest, SAWDoAknowledgeResponse, SAWDoSpinRequest, SAWDoSpinResponse, SAWSpinErrorCode, SAWTemplatesTransform } from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport { CoreUtils, GetTranslationsRequest, GetTranslationsResponse, PublicLabelSettings, ResponseIdentify, TranslationArea } from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport { GetInboxMessagesRequest, GetInboxMessagesResponse, InboxMessageBody, InboxMessageBodyTransform, InboxMessagesTransform, MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse, MarkInboxMessageReadRequest, MarkInboxMessageReadResponse, MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse } from './Inbox';\nimport { BuyStoreItemRequest, BuyStoreItemResponse, GetCategoriesStoreResponse, GetStoreHistoryRequest, GetStoreHistoryResponse, GetStoreItemsResponse, StoreCategoryTransform, StoreItemPurchasedTransform, StoreItemTransform } from './Store';\nimport { AchCategoryTransform, AchClaimPrizeRequest, AchClaimPrizeResponse, AchievementOptinRequest, AchievementOptinResponse, AchievementType, GetAchCategoriesResponse, GetAchievementMapRequest, GetAchievementMapResponse, UserAchievementTransform } from './Missions';\nimport { GetTournamentInfoRequest, GetTournamentInfoResponse, GetTournamentsRequest, GetTournamentsResponse, TournamentItemsTransform, TournamentRegisterRequest, TournamentRegisterResponse, tournamentInfoItemTransform } from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from \"./Leaderboard\";\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from \"./Level\";\nimport { WSAPI } from \"./WSAPI/WSAPI\";\nimport { TInboxMessage, TInboxMessageBody, TLevel, TMiniGameTemplate, TMissionOrBadge, TStoreCategory, TAchCategory, TStoreItem, TTournament, TTournamentDetailed, LeaderBoardDetailsT, UserLevelExtraCountersT, TSegmentCheckResult, TUICustomSection } from \"./WSAPI/WSAPITypes\";\nimport { getLeaderBoardTransform } from \"./Leaderboard/LeaderBoards\";\nimport { GetAchievementsUserInfoResponse } from \"./Core/GetAchievementsUserInfoResponse\";\nimport { CheckSegmentMatchResponse } from \"./Core/CheckSegmentMatchResponse\";\nimport { CheckSegmentMatchRequest } from \"./Core/CheckSegmentMatchRequest\";\nimport { GetJackpotsPotsRequest, GetJackpotsPotsResponse, GetJackpotsRequest, GetJackpotsResponse, JackpotDetails, JackpotPot, JackpotsOptinRequest, JackpotsOptinResponse, JackpotsOptoutRequest, JackpotsOptoutResponse } from \"./Jackpots\";\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from \"./CustomSections\";\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = \"EN\";\n\ninterface Tracker {\n label_api_key: string;\n userPublicProps: any;\n on: (callBackKey: ClassId, func: (data: any) => void) => void;\n getLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n logger?: ILogger;\n logCIDs?: ClassId[];\n logHTTPTiming?: boolean;\n tracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\n\nclass SmarticoAPI {\n\n private publicUrl: string;\n private wsUrl: string;\n private inboxCdnUrl: string;\n private partnerUrl: string;\n public avatarDomain: string;\n\n private logger: ILogger;\n private logCIDs: ClassId[];\n private logHTTPTiming: boolean;\n public tracker?: Tracker;\n\n public constructor(private label_api_key: string, private brand_api_key: string, private messageSender: MessageSender, options: IOptions = {}) {\n\n this.logger = options.logger || (console as any);\n\n if (this.logger.always === undefined) {\n this.logger.always = this.logger.info;\n }\n\n this.logCIDs = options.logCIDs || [];\n this.logHTTPTiming = options.logHTTPTiming || false;\n this.tracker = options.tracker;\n\n this.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n this.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n this.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n this.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\n }\n\n public static getEnvDnsSuffix(label_api_key: string): string {\n\n let ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n \n if (ENV_ID === '1' || ENV_ID === '2') {\n ENV_ID = ''\n }\n return ENV_ID;\n }\n\n public static getEnvId(label_api_key: string): number {\n\n return label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n \n }\n\n public static getCleanLabelApiKey(label_api_key: string): string {\n return label_api_key.substring(0, 36);\n }\n\n public static getPublicUrl(label_api_key: string): string {\n return PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n }\n\n public static getPublicWsUrl(label_api_key: string): string {\n return C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n public static getAvatarUrl(label_api_key: string): string {\n return AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key)); \n } \n\n private async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('REQ', message)\n }\n\n if (force_language) {\n message.force_language = force_language;\n }\n\n let result: any;\n \n try {\n const timeStart = new Date().getTime();\n result = await this.messageSender(message, this.publicUrl, expectCID);\n const timeEnd = new Date().getTime();\n\n if (this.logHTTPTiming) {\n this.logger.always('HTTP time, ms:' + (timeEnd - timeStart))\n }\n\n } catch (e) {\n this.logger.error(`Failed to make request to smartico channel, L2. ${e.message}`, { url: this.publicUrl, request: message, error: e.message });\n throw(new Error(`Failed to make request to smartico channel, L1. ${e.message}`));\n }\n\n if (this.logCIDs.includes(message.cid)) {\n this.logger.info('RES', result)\n }\n\n if (expectCID) {\n if (Array.isArray(result)) { \n for (const str of result as string[]) {\n const obj: ProtocolResponse = JSON.parse(str);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n }\n if (obj.cid === expectCID) {\n return obj as any;\n }\n }\n this.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, { request: message, response: result });\n } else {\n return result;\n } \n } else {\n if (Array.isArray(result)) { \n if (result.length === 1) {\n const obj = JSON.parse(result[0]);\n if (this.logCIDs.includes(obj.cid)) {\n this.logger.info('RES', result)\n } \n return obj;\n } else {\n this.logger.error('Expected one response, but got array', { request: message, response: result });\n }\n }\n return result;\n }\n }\n\n private buildMessage<TRequest,TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\n const message: ProtocolRequest = {\n // AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n // its not needed in WebSocket and can be deleted\n api_key: this.label_api_key, \n brand_key: this.brand_api_key,\n ext_user_id: user_ext_id,\n cid,\n uuid: IntUtils.uuid(),\n ts: new Date().getTime(),\n ...payload\n };\n\n if (message.ext_user_id === undefined || message.ext_user_id === null) {\n delete message.ext_user_id;\n }\n\n if (message.brand_key === undefined || message.brand_key === null) {\n delete message.brand_key;\n } \n\n return message as any\n }\n\n public async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n const eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n eventType,\n payload\n });\n\n const eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n return eventResponse;\n }\n\n public async coreGetTranslations(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n\n if (lang_code === undefined || lang_code === null || lang_code.trim && lang_code.trim() === '') {\n lang_code = DEFAULT_LANG_EN;\n } \n\n const response = await OCache.use<GetTranslationsResponse>(`${lang_code}-${this.label_api_key}-${this.brand_api_key}`, ECacheContext.Translations, async () => {\n\n const tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code: DEFAULT_LANG_EN,\n hash_code: 0,\n areas\n });\n\n const trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n if (lang_code !== DEFAULT_LANG_EN) {\n const trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(user_ext_id, ClassId.GET_TRANSLATIONS_REQUEST, {\n lang_code,\n hash_code: 0,\n areas\n }); \n\n const trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n \n Object.keys(trUser?.translations ?? {}).forEach( k => {\n trBase.translations[k] = trUser.translations[k];\n })\n }\n\n return trBase;\n\n }, cacheSec );\n\n return response;\n } \n\n public async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n \n return OCache.use<GetLabelInfoResponse>(`${this.label_api_key} - ${this.brand_api_key}`, ECacheContext.LabelInfo, async () => {\n\n const message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n return this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE)\n \n }, cacheSec);\n \n } \n\n public async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\n const message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n request_id: IntUtils.uuid() // AA: do we need request_id?\n });\n\n const r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n r.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n return r;\n } \n\n public async coreChangeUsername(user_ext_id: string, public_username_custom: string): Promise<{ public_username_custom: string }> {\n \n const message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n public_username_custom\n });\n \n return await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n }\n\n public async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n \n const message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n segment_id\n });\n \n const results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n return results.segments || [];\n }\n\n public async jackpotGet(user_ext_id: string, filter?: { related_game_id?: string, jp_template_id?: number }, force_language?: string ): Promise<GetJackpotsResponse> {\n\n const message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(user_ext_id, ClassId.JP_GET_JACKPOTS_REQUEST, filter);\n return await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n }\n\n public async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n const message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(user_ext_id, ClassId.JP_GET_LATEST_POTS_REQUEST, filter);\n return await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n }\n\n public async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n const message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(user_ext_id, ClassId.JP_OPTIN_REQUEST, payload);\n return await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n }\n\n public async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n const message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(user_ext_id, ClassId.JP_OPTOUT_REQUEST, payload);\n return await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n }\n\n public async sawGetTemplates(user_ext_id: string, force_language?: string, is_visitor_mode: boolean = false): Promise<SAWGetTemplatesResponse> {\n\n const message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(user_ext_id, ClassId.SAW_GET_SPINS_REQUEST, { is_visitor_mode });\n\n const response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n if (response && response.templates) {\n response.templates.forEach(t => {\n \n if (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n const jackpotValue = t.jackpot_current + (t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', jackpotValue);\n t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', jackpotValue);\n t.prizes.forEach(p => {\n p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', jackpotValue);\n p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', jackpotValue);\n })\n }\n });\n }\n\n return response;\n }\n\n public async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n return SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n }\n\n public async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse>{\n const message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(user_ext_id, ClassId.SAW_AKNOWLEDGE_REQUEST, {\n request_id\n });\n\n return await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n }\n\n public async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n if (!saw_template_id) {\n throw new Error('Missing template id');\n }\n\n const request_id = IntUtils.uuid();\n\n const message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n saw_template_id,\n request_id\n });\n\n const spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n // to simulate fail\n // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n const status: string = {\n [SAWSpinErrorCode.SAW_OK]: 'OK',\n [SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n [SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n [SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n [SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n }[spinAttemptResponse.errCode] || 'OTHER';\n\n await this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n saw_template_id,\n status,\n round_id,\n });\n\n return {...spinAttemptResponse, request_id };\n }\n\n public async missionOptIn(user_ext_id: string, mission_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n const message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(user_ext_id, ClassId.MISSION_OPTIN_REQUEST, {\n achievementId: mission_id\n });\n\n const res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n return res;\n }\n\n public async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n if (!mission_id) {\n throw new Error('Missing mission id');\n }\n\n const message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(user_ext_id, ClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST, {\n ach_id: mission_id,\n ach_completed_id: ach_completed_id\n })\n\n const res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n return res;\n }\n\n public async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(user_ext_id, ClassId.TOURNAMENT_REGISTER_REQUEST, {\n tournamentInstanceId\n });\n\n const res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n return res;\n }\n\n public async buyStoreItem(user_ext_id: string, itemId: number) {\n if (!itemId) {\n throw new Error('Missing store item id');\n }\n const message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n itemId\n });\n\n const res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n return res;\n }\n\n public async inboxGetMessages(user_ext_id: string, limit: number = 10, offset: number = 0): Promise<GetInboxMessagesResponse> {\n\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\n }\n\n public async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n const message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n return await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n }\n\n public async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n return StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n }\n\n public async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n const message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n return await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n }\n\n public async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n return StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n }\n\n public async storeGetPurchasedItems(user_ext_id: string, limit: number = 20, offset: number = 0): Promise<GetStoreHistoryResponse> {\n\n const message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(user_ext_id, ClassId.ACH_SHOP_ITEM_HISTORY_REQUEST, {\n limit,\n offset\n });\n\n return await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n }\n\n public async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n return StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n }\n\n public async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Mission);\n }\n return responseClone;\n }\n\n public async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n }\n\n public async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_USER_REQUEST);\n\n return await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n }\n\n public async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n const response = await this.getUserGamificationInfo(user_ext_id);\n \n return {\n level_counter_1: response.level_counter_1,\n level_counter_2: response.level_counter_2,\n }\n }\n\n public async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\n const message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n return await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n }\n\n public async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n return AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n } \n\n public async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\n const message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(user_ext_id, ClassId.GET_ACHIEVEMENT_MAP_REQUEST);\n const response = await this.send<GetAchievementMapResponse>(message, ClassId.GET_ACHIEVEMENT_MAP_RESPONSE, force_language);\n // we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n const responseClone = { ...response };\n\n if (responseClone.achievements) { \n responseClone.achievements = responseClone.achievements.filter(a => a.ach_type_id === AchievementType.Badge);\n }\n return responseClone;\n } \n\n public async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n return UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n } \n\n\n public async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\n const message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(user_ext_id, ClassId.GET_TOURNAMENT_LOBBY_REQUEST);\n return await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\n }\n\n public async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n return TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n }\n\n public async tournamentsGetInfo(user_ext_id: string, tournamentInstanceId: number, force_language?: string): Promise<GetTournamentInfoResponse> {\n\n const message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(user_ext_id, ClassId.GET_TOURNAMENT_INFO_REQUEST, \n {\n tournamentInstanceId\n }\n );\n const response = await this.send<GetTournamentInfoResponse>(message, ClassId.GET_TOURNAMENT_INFO_RESPONSE, force_language);\n \n if (response.userPosition?.avatar_id) {\n response.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.tournamentInfo.players?.length) {\n response.tournamentInfo.players.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n }\n\n return response;\n\n }\n\n public async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n if (!tournamentInstanceId) {\n throw new Error('Missing tournament instance id');\n }\n const response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n return tournamentInfoItemTransform(response);\n } \n\n public async leaderboardGet(user_ext_id: string, period_type_id?: LeaderBoardPeriodType, prevPeriod: boolean = false, force_language?: string): Promise<LeaderBoardDetails> {\n\n const message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(user_ext_id, ClassId.GET_LEADERS_BOARD_REQUEST, \n {\n period_type_id,\n snapshot_offset: prevPeriod ? 1 : 0,\n include_users: true\n }\n );\n\n const response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n const boardKey = Object.keys(response.map).find( k => period_type_id === undefined || k === period_type_id?.toString());\n\n if (boardKey === undefined) {\n return undefined;\n }\n\n if (response.map[boardKey]?.userPosition?.avatar_id) {\n response.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(response.map[boardKey].userPosition.avatar_id, this.avatarDomain);\n }\n\n if (response.map[boardKey]?.positions?.length) {\n response.map[boardKey].positions.forEach(p => {\n p.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n });\n \n }\n \n return response.map[boardKey];\n\n }\n\n public async leaderboardsGetT(user_ext_id: string, period_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY, prevPeriod: boolean = false): Promise<LeaderBoardDetailsT> { \n return getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n }\n\n public async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n const message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n return await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n }\n\n public async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n return GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n }\n\n public async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n const message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(user_ext_id, ClassId.GET_CUSTOM_SECTIONS_REQUEST);\n return await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n }\n\n public async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n return UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n }\n\n public async getTranslationsT(user_ext_id: string, lang_code: string, areas: TranslationArea[], cacheSec: number = 60): Promise<GetTranslationsResponse> {\n return await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n }\n\n public async getInboxMessages(user_ext_id: string, limit: number = 20, offset: number = 0, starred_only: boolean): Promise<GetInboxMessagesResponse> {\n const message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(user_ext_id, ClassId.GET_INBOX_MESSAGES_REQUEST, {\n limit,\n offset,\n starred_only\n });\n return await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n }\n\n public async getInboxMessagesT(user_ext_id: string, from: number = 0, to: number = 20, favoriteOnly: boolean = false): Promise<TInboxMessage[]> {\n const limit = (to - from) > 20 ? 20 : to - from;\n const offset = from;\n\n return InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n }\n\n public async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\n const getMessageBody = async (messageGuid: string): Promise<InboxMessageBody>=> {\n const inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n try {\n const url = `${inboxCdnUrl}${messageGuid}.json`;\n \n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n }\n });\n const data = await response.json();\n return data || {};\n } catch (error) {\n this.logger.error('Error fetching inbox message body:', error);\n return null;\n }\n };\n\n return await getMessageBody(messageGuid)\n }\n\n public async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n const message = await this.getInboxMessageBody(messageGuid);\n return InboxMessageBodyTransform(message);\n }\n\n public async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n engagement_uid: messageGuid\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n const message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(user_ext_id, ClassId.MARK_INBOX_READ_REQUEST, {\n all_read: true\n });\n\n return await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n }\n\n public async markUnmarkInboxMessageAsFavorite(user_ext_id: string, messageGuid: string, mark: boolean): Promise<MarkInboxMessageStarredResponse> {\n const message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(user_ext_id, ClassId.MARK_INBOX_STARRED_REQUEST, {\n engagement_uid: messageGuid,\n is_starred: mark\n });\n\n return await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n }\n\n public async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n engagement_uid: messageGuid,\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n public async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n const message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(user_ext_id, ClassId.MARK_INBOX_DELETED_REQUEST, {\n all_deleted: true\n });\n\n return await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n }\n\n\n public getWSCalls(): WSAPI {\n return new WSAPI(this);\n }\n\n}\n\nexport { SmarticoAPI, MessageSender }","import { TSMap } from \"typescript-map\";\n\nclass CookieStore {\n private static cookieStore = new TSMap<string, string[]>()\n\n public static get(key: string): string[] | undefined {\n \n return CookieStore.cookieStore.get(key);\n }\n\n public static set(key: string, value: string[]) {\n const v = value.map(v => v.split(';')[0]);\n CookieStore.cookieStore.set(key, v);\n }\n}\n\nexport { CookieStore }","export enum QuizSportType {\n Soccer = 1,\n Tennis = 5,\n Basketball = 6,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n TwoTeamsWithScore = 1,\n RedCard = 2,\n OneXTwo = 3,\n OneXTwoHalftime = 4,\n HalftimeFulltime = 5,\n FirstGoal = 6,\n DoubleChance = 7,\n OverUnder2_5 = 8,\n OverUnder1_5Halftime = 9,\n OverUnder1_5__2ndHalf = 10,\n TotalCorners8_5 = 11,\n TotalCorners9_5 = 12,\n Corners1x2 = 13,\n One_Two = 14,\n Overtime = 15,\n OddEven = 16,\n OddEvenHomeAway = 17,\n FirstSet = 18,\n SecondSet = 19,\n ThirdSet = 20,\n FourthSet = 21,\n FifthSet = 22,\n PlayerOneWinsOneSet = 23,\n PlayerTwoWinsOneSet = 24,\n LastGoal = 25,\n\n CustomSport = 26,\n CustomNonSport = 27,\n}","export enum QuizAnswersValueType {\n HomeTeam = '1',\n AwayTeam = '2',\n Draw = 'x',\n HomeTeamHomeTeam = '1/1',\n HomeTeamDraw = '1/x',\n HomeTeamAwayTeam = '1/2',\n DrawHomeTeam = 'x/1',\n DrawDraw = 'x/x',\n DrawAwayTeam = 'x/2',\n AwayTeamHomeTeam = '2/1',\n AwayTeamDraw = '2/x',\n AwayTeamAwayTeam = '2/2',\n Yes = 'yes',\n No = 'no',\n Odd = 'odd',\n Even = 'even',\n HomeOdd = '1/odd',\n HomeEven = '1/even',\n AwayOdd = '2/odd',\n AwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\n\nexport const quizAnswersTrKeys = {\n [quizDrawReplacementText]: 'quizAnswer_draw',\n [quizYesReplacementText]: 'quizAnswer_yes',\n [quizNoReplacementText]: 'quizAnswer_no',\n [quizOddReplacementText]: 'quizAnswer_odd',\n [quizEvenReplacementText]: 'quizAnswer_even',\n [quizOrReplacementText]: 'quizAnswer_or',\n}\n","import { QuizAnswersValueType, quizAnswerAwayTeamReplacementText, quizAnswerHomeTeamReplacementText, quizDrawReplacementText, quizEvenReplacementText, quizNoReplacementText, quizOddReplacementText, quizOrReplacementText, quizYesReplacementText } from \"./MarketsAnswers\";\nimport { SAWGPMarketType } from \"./MarketsType\";\n\nconst yesNoAnswers = [\n { text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n { text: quizNoReplacementText, value: QuizAnswersValueType.No }\n]\n\nconst homeAwayAnswers = [\n { text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n { text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam }\n]\n\nconst homeAwayDrawAnswers = [\n ...homeAwayAnswers,\n { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw },\n]\n\nexport const marketsInfo = [\n {\n type: SAWGPMarketType.OneXTwo,\n name: '1x2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2'},\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.OneXTwoHalftime,\n name: '1x2 Halftime',\n question: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.HalftimeFulltime,\n name: 'Halftime / Fulltime',\n question: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamHomeTeam },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.DrawHomeTeam },\n { text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n { text: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.DrawAwayTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamHomeTeam },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw },\n { text: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamAwayTeam }\n ]\n },\n {\n type: SAWGPMarketType.FirstGoal,\n name: 'First Goal',\n question: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n answers: homeAwayDrawAnswers\n },\n {\n type: SAWGPMarketType.LastGoal,\n name: 'Last Goal',\n question: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.DoubleChance,\n name: 'Double Chance',\n question: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n answers: [\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamDraw },\n { text: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.HomeTeamAwayTeam },\n { text: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`, value: QuizAnswersValueType.AwayTeamDraw }\n ]\n },\n {\n type: SAWGPMarketType.OverUnder2_5,\n name: 'Over/Under 2.5',\n question: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5Halftime,\n name: 'Over/Under 1.5 Halftime',\n question: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OverUnder1_5__2ndHalf,\n name: 'Over/Under 1.5 2nd Half',\n question: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.RedCard,\n name: 'Red Card',\n question: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners8_5,\n name: 'Total Corners 8.5',\n question: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.TotalCorners9_5,\n name: 'Total Corners 9.5',\n question: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.Corners1x2,\n name: 'Corners 1x2',\n question: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.One_Two,\n name: '1-2',\n question: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2'},\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.Overtime,\n name: 'Overtime',\n question: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.OddEven,\n name: 'Odd/Even',\n question: { text: 'Is the sum of all points scored in the game going to be an odd number or even?', trKey: 'quizQuestion_oddEven' },\n answers: [\n { text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n { text: quizEvenReplacementText, value: QuizAnswersValueType.Even }\n ]\n },\n {\n type: SAWGPMarketType.OddEvenHomeAway,\n name: 'Odd/Even Home/Away',\n question: { text: 'Which team will win and what will be the sum of the points (Odd or Even)?', trKey: 'quizQuestion_oddEvenHomeAway' },\n answers: [\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n { text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n { text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven }\n ]\n },\n {\n type: SAWGPMarketType.FirstSet,\n name: 'First Set',\n question: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.SecondSet,\n name: 'Second Set',\n question: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.ThirdSet,\n name: 'Third Set',\n question: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FourthSet,\n name: 'Fourth Set',\n question: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.FifthSet,\n name: 'Fifth Set',\n question: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n answers: homeAwayAnswers\n },\n {\n type: SAWGPMarketType.PlayerOneWinsOneSet,\n name: 'Player One Wins One Set',\n question: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n answers: yesNoAnswers\n },\n {\n type: SAWGPMarketType.PlayerTwoWinsOneSet,\n name: 'Player Two Wins One Set',\n question: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n answers: yesNoAnswers\n },\n]","import { SAWGPMarketType } from \"./MarketsType\";\nimport { QuizSportType } from \"./SportTypes\";\n\nexport const QuizMarketPerSport = {\n [QuizSportType.Basketball]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.Overtime,\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OddEven,\n SAWGPMarketType.OddEvenHomeAway,\n SAWGPMarketType.DoubleChance,\n ],\n [QuizSportType.Soccer]: [\n SAWGPMarketType.OneXTwo,\n SAWGPMarketType.OneXTwoHalftime,\n SAWGPMarketType.HalftimeFulltime,\n SAWGPMarketType.FirstGoal,\n SAWGPMarketType.LastGoal,\n SAWGPMarketType.DoubleChance,\n SAWGPMarketType.OverUnder2_5,\n SAWGPMarketType.OverUnder1_5Halftime,\n SAWGPMarketType.OverUnder1_5__2ndHalf,\n SAWGPMarketType.RedCard,\n SAWGPMarketType.TotalCorners8_5,\n SAWGPMarketType.TotalCorners9_5,\n SAWGPMarketType.Corners1x2,\n ],\n [QuizSportType.Tennis]: [\n SAWGPMarketType.One_Two,\n SAWGPMarketType.FirstSet,\n SAWGPMarketType.SecondSet,\n SAWGPMarketType.ThirdSet,\n SAWGPMarketType.FourthSet,\n SAWGPMarketType.FifthSet,\n SAWGPMarketType.PlayerOneWinsOneSet,\n SAWGPMarketType.PlayerTwoWinsOneSet,\n SAWGPMarketType.OddEven\n ]\n}","enum JackpotContributionType {\n Fixed = 1,\n Percentage = 2\n}\n\n\nexport { JackpotContributionType }","\n\nenum JackpotType {\n Main = 1\n}\n\n\nexport { JackpotType }"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","_SAWBuyInType$Free$SA","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","_SAWGameType$SpinAWhe","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","_SAWPrizeType$NO_PRIZ","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","_r$saw_skin_ui_defini2","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","aknowledge_message","acknowledge_dp","acknowledge_action_title","pool","wins_count","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","_SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","NodeCache","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","_proto","prototype","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","Promise","resolve","_temp","then","_f2","reject","clear","_this","clearContext","_this2","clearAll","_this3","ActivityTypeLimited","CoreUtils","currencySymbol","currency","_USD$EUR$JPY$GBP$AUD$","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","_StoreItemType$Bonus$","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","_TournamentRegistrati","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","_TournamentInstanceSt","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","_ActivityTypeLimited$","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","updateOnAddSpin","SAW_DO_SPIN_RESPONSE","SAW_AKNOWLEDGE_RESPONSE","updateOnPrizeWin","MISSION_OPTIN_RESPONSE","updateMissionsOnOptIn","TOURNAMENT_REGISTER_RESPONSE","updateTournamentsOnRegistration","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","_this4","Levels","levelsGetT","getMissions","_ref","onUpdate","_this5","Missions","missionsGetItemsT","getBadges","_this6","Badges","badgetsGetItemsT","getUserLevelExtraCounters","_this7","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","_this8","StoreItems","storeGetItemsT","buyStoreItem","item_id","_this9","err_code","errCode","err_message","errMsg","getStoreCategories","_this10","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","_temp2","_ref2","limit","offset","_this11","StoreHistory","storeGetPurchasedItemsT","getAchCategories","_this12","AchCategories","achGetCategoriesT","getCustomSections","_this13","CustomSections","getCustomSectionsT","getMiniGames","_temp3","_ref3","_this14","Saw","sawGetTemplatesT","playMiniGame","template_id","_this15","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","requestMissionOptIn","mission_id","_this16","missionOptIn","requestMissionClaimReward","_this17","missionClaimPrize","getTournamentsList","_temp4","_ref4","_this18","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","_this19","tournamentsGetInfoT","registerInTournament","_this20","getLeaderBoard","periodType","getPreviousPeriod","_this21","LeaderBoards","leaderboardsGetT","getInboxMessages","_temp5","_ref5","from","to","onlyFavorite","_this22","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","_this23","getInboxMessageBodyT","markInboxMessageAsRead","_this24","markInboxMessageRead","markAllInboxMessagesAsRead","_this25","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","_this26","deleteInboxMessage","_this27","deleteAllInboxMessages","_this28","getTranslations","lang_code","_this29","getTranslationsT","translations","_this30","templates","index","findIndex","updateEntity","_this31","payload","_this32","_temp7","SAW_OK","_template$prizes$find","template","prizeType","_temp6","updatedTemplates","_this33","_this34","_this35","contextKey","_this36","Jackpots","Pots","jackpotGet","_this37","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","_OCache$use","_temp9","_jp","_temp8","jp_template_ids","potGet","_this37$api$potGet","_OCache$use2","jackpotOptIn","_this38","jackpotOptOut","_this39","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","_result","_exit","cid","result","_iterator","_createForOfIteratorHelperLoose","_step","done","obj","request","_catch","timeStart","_this$messageSender","timeEnd","url","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","GET_TRANSLATIONS_RESPONSE","trBase","trUserRQ","trUser","_trUser$translations","keys","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","CHECK_SEGMENT_MATCH_RESPONSE","results","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","_this13$sawGetTemplat","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","_SAWSpinErrorCode$SAW","status","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","MISSION_OPTIN_REQUEST","achievementId","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","_this22$storeGetItems","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","_this24$storeGetCateg","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","_this26$storeGetPurch","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","_this28$missionsGetIt","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","_this32$achGetCategor","badgetsGetItems","Badge","_this34$badgetsGetIte","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","_this36$tournamentsGe","tournaments","tournamentsGetInfo","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","_response$userPositio","_response$tournamentI","leaderboardGet","prevPeriod","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","_response$map$boardKe","_response$map$boardKe2","boardKey","_this40","DAILY","levelsGet","_this41","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","_this42","_this43","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","_this44","_this44$getCustomSect","values","customSections","_this45","starred_only","_this46","favoriteOnly","_this47","_this47$getInboxMessa","log","_this48","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","_this49","_this50","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","_this51","all_read","_this52","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","_this53","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","_this54","all_deleted","getWSCalls","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizAnswersTrKeys","_quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","concat","Draw","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","HalftimeFulltime","HomeTeamHomeTeam","HomeTeamDraw","HomeTeamAwayTeam","DrawHomeTeam","DrawDraw","DrawAwayTeam","AwayTeamHomeTeam","AwayTeamDraw","AwayTeamAwayTeam","FirstGoal","LastGoal","DoubleChance","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","QuizMarketPerSport","_QuizMarketPerSport","JackpotContributionType","JackpotType"],"mappings":"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"}
|