initial
This commit is contained in:
62
utils/GameErrors.js
Normal file
62
utils/GameErrors.js
Normal file
@@ -0,0 +1,62 @@
|
||||
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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user