| Server IP : 66.29.153.156 / Your IP : 216.73.217.22 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/lastyfjz/./unicitys.com/wp-content/plugins/extendify/src/AutoLaunch/functions/ |
Upload File : |
import { useLaunchDataStore } from '@auto-launch/state/launch-data';
import { digest } from '@shared/api/digest';
import { __ } from '@wordpress/i18n';
export const setStatus = (msg) => {
useLaunchDataStore.getState().addStatusMessage(msg);
};
export const setErrorMessage = (message) => {
useLaunchDataStore.getState().setErrorMessage(message);
};
export const retryTwice = async (fn) => {
try {
return await fn();
} catch (_) {
setErrorMessage(
// translators: This is an error message shown to the user when a network request fails and is being retried
__('The network seems unstable. Retrying...', 'extendify-local'),
);
await wait(1000);
const res = await fn();
setErrorMessage(null);
return res;
}
};
export const failWithFallback = async (fn, fallback, errDetails = {}) => {
try {
return await fn();
} catch (error) {
digest({
...errDetails,
error: errDetails?.error ?? error,
source: 'auto-launch',
});
return fallback;
}
};
export const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
import apiFetch from '@wordpress/api-fetch';
export async function apiFetchWithTimeout(options = {}, timeoutMs = 30000) {
const controller = new AbortController();
const { signal } = controller;
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
try {
return await apiFetch({ ...options, signal });
} finally {
clearTimeout(timeoutId);
}
}
export const fetchWithTimeout = async (
url,
options = {},
timeoutMs = 60000,
) => {
const controller = new AbortController();
const { signal } = controller;
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
try {
return await fetch(url, { ...options, signal });
} finally {
clearTimeout(timeoutId);
}
};