export function useTicker(interval: string) { const seconds = Duration.parse(interval); const ticker = ref(new Date()); setInterval(() => { ticker.value = new Date(); }, seconds * 1000); return ticker; } export class Duration { static parse(input: string): number { if (input.length > 1) { const unit = input.charAt(input.length - 1); const value = parseInt(input.substring(0, input.length - 1), 10); switch (unit) { case 's': return value; case 'm': return value * 60; case 'h': return value * 60 * 60; default: throw new Error(`Invalid unit ${unit}`); } } throw new Error("Invalid input"); } }