import type { H3Event } from 'h3' const cachedWakatimeCoding = defineCachedFunction(async (event: H3Event) => { const config = useRuntimeConfig(event) return await $fetch(`https://wakatime.com/share/${config.wakatime.userId}/${config.wakatime.coding}.json`) }, { maxAge: 24 * 60 * 60, name: 'wakatime', getKey: () => 'coding' }) const cachedWakatimeEditors = defineCachedFunction(async (event: H3Event) => { const config = useRuntimeConfig(event) return await $fetch(`https://wakatime.com/share/${config.wakatime.userId}/${config.wakatime.editors}.json`) }, { maxAge: 24 * 60 * 60, name: 'wakatime', getKey: () => 'editors' }) const cachedWakatimeOs = defineCachedFunction(async (event: H3Event) => { const config = useRuntimeConfig(event) return await $fetch(`https://wakatime.com/share/${config.wakatime.userId}/${config.wakatime.os}.json`) }, { maxAge: 24 * 60 * 60, name: 'wakatime', getKey: () => 'os' }) const cachedWakatimeLanguages = defineCachedFunction(async (event: H3Event) => { const config = useRuntimeConfig(event) return await $fetch(`https://wakatime.com/share/${config.wakatime.userId}/${config.wakatime.languages}.json`) }, { maxAge: 24 * 60 * 60, name: 'wakatime', getKey: () => 'languages' }) export default defineEventHandler(async (event) => { const [coding, editors, os, languages] = await Promise.all([ cachedWakatimeCoding(event), cachedWakatimeEditors(event), cachedWakatimeOs(event), cachedWakatimeLanguages(event) ]) return { coding, editors, os, languages } })