export class ResponseError extends Error { constructor(message) { super(message); this.name = "ResponseError"; } } export class NetworkError extends Error { constructor(message) { super(message); this.name = "NetworkError"; } } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(";"); for(let i = 0; i { if (!response.ok) { throw new ResponseError(`recieved response status code ${response.status}`); } return response; }) .catch((error) => { if (error instanceof ResponseError) { throw error; } throw new NetworkError(error); }); let data = await response.json(); return data; } export function goToPage (page, data={}) { let url = new URL(`https://client.tronnet.net/${page}`); for(let k in data) { url.searchParams.append(k, data[k]); } window.location.assign(url.toString()); } export function getURIData () { let url = new URL(window.location.href); return Object.fromEntries(url.searchParams); }