File: //home/citaqlmd/coastal-connexion.com/wp-content/plugins/extendify/src/Launch/lib/util.js
import { pingServer } from '@launch/api/DataApi';
/** Removes any hash or qs values from URL - Airtable adds timestamps */
export const stripUrlParams = (url) => url?.[0]?.url?.split(/[?#]/)?.[0];
export const lowerImageQuality = (html) => {
return html.replace(
/(https?:\/\/\S+\?w=\d+)/gi,
'$1&q=10&auto=format,compress&fm=avif',
);
};
/**
* Will ping every 1s until we get a 200 response from the server.
* This is used because we were dealing with a particular issue where
* servers we're very resource limited and rate limiting was common.
* */
export const waitFor200Response = async () => {
try {
// This will error if not 200
await pingServer();
return true;
} catch (error) {
//
}
await new Promise((resolve) => setTimeout(resolve, 1000));
return waitFor200Response();
};
export const wasInstalled = (activePlugins, pluginSlug) =>
activePlugins?.filter((p) => p.includes(pluginSlug))?.length;