import {Locator} from "@popiplay/slot-game-kit"; function getErrorDescriptionByCode(code) { switch (code) { case 101: case 102: case 103: case 104: case 105: case 201: case 202: case 203: case 204: case 205: return Locator.locales.get("the_bet_has_not_been_accepted"); case 206: return Locator.locales.get("your_freespins_are_ended"); case 301: return Locator.locales.get('you_have_insufficient_funds'); case 302: case 303: case 401: case 402: case "301nodep": case "206i": case "some_error": case "many_tabs_error": return Locator.locales.get(code); case "default": default: { const textLocale = Locator.locales.get("default").split("{code}"); return `${textLocale[0]} ${code} ${textLocale[1]}`; } } } export function checkForErrors(response, showPreloader) { switch (true) { case (response instanceof NetworkError): throw response; case ("errors" in response): throw new ResponseResultError(response.errors[0].code, showPreloader); } } export class ResponseResultError extends Error { /** * * @param {number} code the response error code */ constructor(code, showPreloader) { super(getErrorDescriptionByCode(code)); this.code = code; this.showPreloader = showPreloader; } } export class NetworkError extends Error { constructor() { super("The client can't connect to the server"); } }