import {REGISTRY_URL, Registry} from '../const.js' export async function getRegistry(): Promise<{ok: true; registry: Registry} | {ok: false; message: string}> { const registryResponse = await fetch(REGISTRY_URL) if (registryResponse.ok) { return { ok: true, registry: (await registryResponse.json()) as Registry, } } else { return { ok: false, message: `Error while fetching registry: ${registryResponse.status} ${registryResponse.statusText}`, } } } export async function getAvailableComponentNames(registry: Registry): Promise { return Object.keys(registry.components) } export async function getComponentURL(registry: Registry, componentName: string): Promise { return registry.base.replace('{componentName}', registry.components[componentName]) } export async function getComponentRealname( registry: Registry, componentName: keyof Registry['components'], ): Promise { return registry.components[componentName].split('/').pop() ?? '' }