export function useCacheStorage( key: string, getter: () => T | Promise, TTL = 1000 * 60 * 60 * 12, // 12 hours ) { const storage = useLocalStorage(key, { time: 0, value: null as T | null, }) if (storage.value.time + TTL < Date.now()) { Promise.resolve(getter()).then((v) => { storage.value = { time: Date.now(), value: v, } }) } return computed({ get() { return storage.value.value }, set(v) { storage.value.value = v }, }) }