63 lines
1.5 KiB
JavaScript
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");
|
|
}
|
|
}
|