import { ref, toValue, watchEffect } from 'vue'; import { type MaybeRefOrGetter } from 'vue'; export interface TelemetryDefinition { uuid: string; name: string; data_type: string; } export function useTelemetry(name: MaybeRefOrGetter) { const data = ref(null); // eslint-disable-next-line @typescript-eslint/no-explicit-any const error = ref(null); watchEffect(async () => { const name_value = toValue(name); try { const res = await fetch(`/api/tlm/info/${name_value}`); data.value = await res.json(); error.value = null; } catch (e) { data.value = null; error.value = e; } }); return { data, error }; }