Files
amazon-city-of-gold/utils/GameErrors.js
Andrey Sharshov 9487728656 initial
2025-11-16 18:54:31 +01:00

63 lines
1.5 KiB
JavaScript

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");
}
}