MCPcopy
hub / github.com/conversejs/converse.js / fetchProviderData

Function fetchProviderData

src/plugins/register/utils.js:28–47  ·  view source on GitHub ↗

* @param {string} url * @returns {Promise }

(url)

Source from the content-addressed store, hash-verified

26 * @returns {Promise<import('./types.ts').XMPPProvider[]>}
27 */
28async function fetchProviderData (url) {
29 try {
30 const response = await fetch(url);
31 if (!response.ok) {
32 throw new Error(`HTTP ${response.status}`);
33 }
34 const data = await response.json();
35 if (Array.isArray(data)) {
36 const providers = data
37 .map(item => typeof item === 'string' ? { jid: item, category: '' } : item)
38 .filter(item => item.jid);
39 log.debug(`Fetched ${providers.length} XMPP providers`);
40 return providers;
41 }
42 return [];
43 } catch (err) {
44 log.warn(`Failed to fetch XMPP providers from ${url}: ${err.message}`);
45 return [];
46 }
47}
48
49/**
50 * Fetches the list of XMPP providers from the configured URL.

Callers 1

fetchXMPPProvidersFunction · 0.85

Calls 2

mapMethod · 0.80
filterMethod · 0.45

Tested by

no test coverage detected