interface Client {
$ad: typeof api.$ad;
$ads: api.Ads;
$geo: api.Geo;
}
const globalForClient = globalThis as unknown as {
immoledo: Client | undefined;
abortController: AbortController | undefined;
};
const initClient = async () => {
if (globalForClient.abortController) {
globalForClient.abortController.abort();
}
globalForClient.abortController = new AbortController();
const { signal } = globalForClient.abortController;
api.init(env.API_URL);
api.$global.net.errors.onUnauthorized = () =>
console.warn("Client unauthorized");
try {
const success = await api.$anonymousUser.profile.login(
env.API_CLIENT_ID,
env.API_CLIENT_SECRET,
true,
signal
);
console.log(`🏠 Client login ${success ? "✅" : "❌"}`);
} catch (error) {
console.error("🏚️ Client login error:\n", error);
}
return api;
};
export const client = await initClient();
interface Client {
$ad: typeof api.$ad;
$ads: api.Ads;
$geo: api.Geo;
}
const globalForClient = globalThis as unknown as {
immoledo: Client | undefined;
abortController: AbortController | undefined;
};
const initClient = async () => {
if (globalForClient.abortController) {
globalForClient.abortController.abort();
}
globalForClient.abortController = new AbortController();
const { signal } = globalForClient.abortController;
api.init(env.API_URL);
api.$global.net.errors.onUnauthorized = () =>
console.warn("Client unauthorized");
try {
const success = await api.$anonymousUser.profile.login(
env.API_CLIENT_ID,
env.API_CLIENT_SECRET,
true,
signal
);
console.log(`🏠 Client login ${success ? "✅" : "❌"}`);
} catch (error) {
console.error("🏚️ Client login error:\n", error);
}
return api;
};
export const client = await initClient();