wwwlayermeshusa/src/utilities/getGlobals.ts

22 lines
655 B
TypeScript

import type { Config } from 'src/payload-types'
import configPromise from '@payload-config'
import { getPayload } from 'payload'
import { unstable_cache } from 'next/cache'
type Global = keyof Config['globals']
async function getGlobal(slug: Global, depth = 0, locale = 'sv') {
const payload = await getPayload({ config: configPromise })
const global = await payload.findGlobal({
slug,
depth,
locale: locale as 'sv' | 'en',
})
return global
}
export const getCachedGlobal = (slug: Global, depth = 0, locale = 'sv') =>
unstable_cache(async () => getGlobal(slug, depth, locale), [slug, locale], {
tags: [`global_${slug}`],
})